In [ ]:
. ./nbs_header.ps1
. ./core.ps1
In [ ]:
{ . "$ScriptDir/../apps/builder/build.ps1" } | Invoke-Block

── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # DibParser (Polyglot)                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"

#r 

@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP

arsec.dll"

#r 

@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP

arsecCS.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Async.fs

#!import ../nbs/AsyncSeq.fs

#!import ../nbs/Runtime.fs

#!import ../nbs/FileSystem.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module AsyncSeq =



    open Common



    /// ## subscribeEvent



    let inline subscribeEvent (event: IEvent<'H, 'A>) map =

        let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

        System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

        |> FSharp.Control.AsyncSeq.ofObservableBuffered



    let subscribeToken (token : System.Threading.CancellationToken) =

        let tcs = new System.Threading.Tasks.TaskCompletionSource ()

        System.Action tcs.SetResult |> token.Register |> ignore

        let start = System.DateTime.Now.Ticks

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun (...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module FileSystem =



    open Common



    /// ## Operators



    module Operators =

        let inline (</>) a b =

            System.IO.Path.Combine (a, b)



    open Operators



    /// ## createTempDirectoryName



    let inline createTempDirectoryName () =

        let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name



        System.IO.Path.GetTempPath ()

        </> $"!{root}"

        </> string (newGuidFromDateTime System.DateTime.Now)



    /// ## createTempDirectory



    let inline createTempDirectory () =

        let tempFolder = createTempDirectoryName ()

        let result = System.IO.Directory.CreateDirectory tempFolder



        let getLocals () =

            $"tempFolder:...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common

open FParsec



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## escapeCell (test)                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline escapeCell input =

    input

    |> String.split [[| '\n' |]]

    |> Array.map (function

        | line when line |> String.startsWith "\\#!" || line |> 

String.startsWith "\\#r" ->

            System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#")

        | line -> line

    )

    |> String.concat "\n"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



$"a{nl}\\#!magic{nl}b{nl}"

|> escapeCell

|> _equal (

    $"a{nl}#!magic{nl}b{nl}"

)



╭─[ 57.02ms - stdout ]─────────────────────────────────────────────────────────╮

│ a                                                                            │

│ #!magic                                                                      │

│ b                                                                            │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## magicMarker                                                               │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let magicMarker : Parser<string, unit> = pstring "#!"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic"

|> run magicMarker

|> _equal (

    Success ("#!", (), Position ("", 2, 1, 3))

)



╭─[ 55.72ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: #!                                                              │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 2                                                             │

│         Line: 1                                                              │

│         Column: 3                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"##!magic"

|> run magicMarker

|> _equal (

    Failure (

        $"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}",

        ParserError (

            Position ("", 0, 1, 1),

            (),

            ErrorMessageList (ExpectedString "#!")

        ),

        ()

    )

)



╭─[ 116.20ms - stdout ]────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: Error in Ln: 1 Col: 1                                           │

│ ##!magic                                                                     │

│ ^                                                                            │

│ Expecting: '#!'                                                              │

│                                                                              │

│       Item2: ParserError                                                     │

│         Position: Position                                                   │

│           Index: 0                                                           │

│           Line: 1                                                            │

│           Column: 1                                                          │

│           StreamName:                                                        │

│         UserState: <null>                                                    │

│         Messages: ErrorMessageList                                           │

│           Head: ExpectedString                                               │

│             String: #!                                                       │

│             Type: ExpectedString                                             │

│           Tail: <null>                                                       │

│       Item3: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## magicCommand                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let magicCommand =

    magicMarker

    >>. manyTill anyChar newline

    |>> (System.String.Concat >> String.trim)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic



a"

|> run magicCommand

|> _equal (

    Success ("magic", (), Position ("", 8, 2, 1))

)



╭─[ 42.30ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: magic                                                           │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 8                                                             │

│         Line: 2                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



" #!magic



a"

|> run magicCommand

|> _equal (

    Failure (

        $"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}",

        ParserError (

            Position ("", 0, 1, 1),

            (),

            ErrorMessageList (ExpectedString "#!")

        ),

        ()

    )

)



╭─[ 40.07ms - stdout ]─────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: Error in Ln: 1 Col: 1                                           │

│  #!magic                                                                     │

│ ^                                                                            │

│ Expecting: '#!'                                                              │

│                                                                              │

│       Item2: ParserError                                                     │

│         Position: Position                                                   │

│           Index: 0                                                           │

│           Line: 1                                                            │

│           Column: 1                                                          │

│           StreamName:                                                        │

│         UserState: <null>                                                    │

│         Messages: ErrorMessageList                                           │

│           Head: ExpectedString                                               │

│             String: #!                                                       │

│             Type: ExpectedString                                             │

│           Tail: <null>                                                       │

│       Item3: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## content                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let content =

    (newline >>. magicMarker) <|> (eof >>. preturn "")

    |> attempt

    |> lookAhead

    |> manyTill anyChar

    |>> (System.String.Concat >> String.trim)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic





a





"

|> run content

|> _equal (

    Success ("#!magic





a", (), Position ("", 14, 7, 1))

)



╭─[ 33.28ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: #!magic                                                         │

│                                                                              │

│                                                                              │

│ a                                                                            │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 14                                                            │

│         Line: 7                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Block                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type Block =

    {

        magic : string

        content : string

    }



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## block                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let block =

    pipe2

        magicCommand

        content

        (fun magic content ->

            {

                magic = magic

                content = content

            })



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic





a





"

|> run block

|> _equal (

    Success (

        { magic = "magic"; content = "a" },

        (),

        Position ("", 14, 7, 1)

    )

)



╭─[ 40.42ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: Block                                                           │

│         magic: magic                                                         │

│         content: a                                                           │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 14                                                            │

│         Line: 7                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## blocks                                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let blocks =

    skipMany newline

    >>. sepEndBy block (skipMany1 newline)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test





"#!magic1



a



\#!magic2



b



"

|> escapeCell

|> run blocks

|> _equal (

    Success (

        [[

            { magic = "magic1"; content = "a" }

            { magic = "magic2"; content = "b" }

        ]],

        (),

        Position ("", 26, 9, 1)

    )

)



╭─[ 49.98ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: FSharpList<Block>                                               │

│         - magic: magic1                                                      │

│           content: a                                                         │

│         - magic: magic2                                                      │

│           content: b                                                         │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 26                                                            │

│         Line: 9                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Output                                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type Output =

    | Fs

    | Md

    | Spi

    | Spir



let inline kernelOutputs magic =

    match magic with

    | "fsharp" -> [[ Fs ]]

    | "markdown" -> [[ Md ]]

    | "spiral" -> [[ Spi; Spir ]]

    | _ -> [[]]



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## formatBlock                                                               │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline formatBlock output (block : Block) =

    match output, block with

    | output, { magic = "markdown"; content = content } ->

        let markdownComment =

            match output with

            | Spi | Spir -> "// // "

            | Fs -> "/// "

            | _ -> ""

        content

        |> String.split [[| '\n' |]]

        |> Array.map (String.trimEnd [[||]])

        |> Array.filter (String.endsWith " (test)" >> not)

        |> Array.map (function

            | "" -> markdownComment |> String.trim

            | line -> System.Text.RegularExpressions.Regex.Replace (line, 

"^\\s*", $"$&{markdownComment}")

        )

        |> String.concat "\n"

    | Fs, { magic = "fsharp"; content = content } ->

        let trimmedContent = content |> String.trim

        if trimmedContent |> String.startsWith "//// test" || trimmedContent |> 

String.startsWith "//// ignore"

        then ""

        else

            content

            |> String.split [[| '\n' |]]

            |> Array.filter (String.trimStart [[||]] >> String.startsWith "#r" 

>> not)

            |> String.concat "\n"

    | (Spi | Spir), { magic = "spiral"; content = content } ->

        let trimmedContent = content |> String.trim

        if trimmedContent |> String.startsWith "// // test" || trimmedContent |>

String.startsWith "// // ignore"

        then ""

        else content

    | _ -> ""



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!markdown





a



    b



c





\#!markdown





c





\#!fsharp





let a = 1"

|> escapeCell

|> run block

|> function

    | Success (block, _, _) -> formatBlock Fs block

    | Failure (msg, _, _) -> failwith msg

|> _equal "/// a

///

    /// b

///

/// c"



╭─[ 59.44ms - stdout ]─────────────────────────────────────────────────────────╮

│ /// a                                                                        │

│ ///                                                                          │

│     /// b                                                                    │

│ ///                                                                          │

│ /// c                                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## formatBlocks                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline formatBlocks output blocks =

    blocks

    |> List.map (formatBlock output)

    |> List.filter ((<>) "")

    |> String.concat "\n\n"

    |> fun s -> s + "\n"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!markdown





a



b





\#!markdown





c





\#!fsharp





let a = 1



\#!markdown



d (test)



\#!fsharp



//// test



let a = 2



\#!markdown



e



\#!fsharp



let a = 3"

|> escapeCell

|> run blocks

|> function

    | Success (blocks, _, _) -> formatBlocks Fs blocks

    | Failure (msg, _, _) -> failwith msg

|> _equal "/// a

///

/// b



/// c



let a = 1



/// e



let a = 3

"



╭─[ 72.53ms - stdout ]─────────────────────────────────────────────────────────╮

│ /// a                                                                        │

│ ///                                                                          │

│ /// b                                                                        │

│                                                                              │

│ /// c                                                                        │

│                                                                              │

│ let a = 1                                                                    │

│                                                                              │

│ /// e                                                                        │

│                                                                              │

│ let a = 3                                                                    │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## parse                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parse output input =

    match run blocks input with

    | Success (blocks, _, _) ->

        let blocks =

            blocks

            |> List.filter (fun block ->

                block.magic |> kernelOutputs |> List.contains output || 

block.magic = "markdown"

            )

        

        match blocks with

        | { magic = "markdown"; content = content } :: _

            when output = Fs

            && content |> String.startsWith "# "

            && content |> String.endsWith ")"

            ->

            let inline indentBlock (block : Block) =

                { block with

                    content =

                        block.content

                        |> String.split [[| '\n' |]]

                        |> Array.fold

                            (fun (lines, isMultiline) line ->

                                let trimmedLine = line |> String.trim

                                if trimmedLine = ""

                                then "" :: lines, isMultiline

                                else

                                    let inline singleQuoteLine () =

                                        trimmedLine |> Seq.sumBy ((=) '"' >> 

System.Convert.ToInt32) = 1

                                        && trimmedLine |> String.contains 

@"'""'" |> not

                                        && trimmedLine |> String.endsWith "{" |>

not

                                        && trimmedLine |> String.endsWith "{|" 

|> not

                                        && trimmedLine |> String.startsWith "}" 

|> not

                                        && trimmedLine |> String.startsWith "|}"

|> not



                                    match isMultiline, trimmedLine |> 

String.splitString [[| $"{q}{q}{q}" |]] with

                                    | false, [[| _; _ |]] ->

                                        $"    {line}" :: lines, true



                                    | true, [[| _; _ |]] ->

                                        line :: lines, false



                                    | false, _ when singleQuoteLine () ->

                                        $"    {line}" :: lines, true



                                    | false, _ when line |> String.startsWith 

"#" && block.magic = "fsharp" ->

                                        line :: lines, false



                                    | false, _ ->

                                        $"    {line}" :: lines, false



                                    | true, _ when singleQuoteLine () && line |>

String.startsWith "    " ->

                                        $"    {line}" :: lines, false



                                    | true, _ when singleQuoteLine () ->

                                        line :: lines, false



                                    | true, _ ->

                                        line :: lines, true

                            )

                            ([[]], false)

                        |> fst

                        |> List.rev

                        |> String.concat "\n"

                }



            let moduleName, namespaceName =

                System.Text.RegularExpressions.Regex.Match (content, @"# (.*) 

\((.*)\)$")

                |> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value



            let moduleBlock =

                {

                    magic = "fsharp"

                    content =

                        $"#if !INTERACTIVE

namespace {namespaceName}

#endif



module {moduleName} ="

                }



            blocks

            |> List.indexed

            |> List.fold

                (fun blocks (index, block) ->

                    match index with

                    | 0 -> blocks

                    | 1 -> indentBlock block :: moduleBlock :: blocks

                    | _ -> indentBlock block :: blocks

                )

                [[]]

            |> List.rev

        | _ -> blocks

        |> Result.Ok

    | Failure (errorMsg, _, _) -> Result.Error errorMsg



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let example1 =

    $"""#!meta



{{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name":

"fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}}



\#!markdown



# TestModule (TestNamespace)



\#!fsharp



\#!import file.dib



\#!fsharp



\#r "nuget:Expecto"



\#!markdown



## ParserLibrary



\#!fsharp



open System



\#!markdown



## x (test)



\#!fsharp



//// ignore



let x = 1



\#!spiral



// // test



inl x = 0i32



\#!spiral



inl x = 0i32



\#!markdown



### TextInput



\#!fsharp



let str1 = "abc

def"



let str2 =

    "abc\

def"



let str3 =

    $"1{{

        1

    }}1"



let str4 =

    $"1{{({{|

        a = 1

    |}}).a}}1"



let str5 =

    "abc \

        def"



let x =

    match '"' with

    | '"' -> true

    | _ -> false



let long1 = {q}{q}{q}a{q}{q}{q}



let long2 =

    {q}{q}{q}

a

{q}{q}{q}



\#!fsharp



type Position =

    {{

#if INTERACTIVE

        line : string

#else

        line : int

#endif

        column : int

    }}"""

    |> escapeCell



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



example1

|> parse Fs

|> Result.toOption

|> Option.get

|> (formatBlocks Fs)

|> _equal $"""#if !INTERACTIVE

namespace TestNamespace

#endif



module TestModule =



    /// ## ParserLibrary



    open System



    /// ### TextInput



    let str1 = "abc

def"



    let str2 =

        "abc\

def"



    let str3 =

        $"1{{

            1

        }}1"



    let str4 =

        $"1{{({{|

            a = 1

        |}}).a}}1"



    let str5 =

        "abc \

            def"



    let x =

        match '"' with

        | '"' -> true

        | _ -> false



    let long1 = {q}{q}{q}a{q}{q}{q}



    let long2 =

        {q}{q}{q}

a

{q}{q}{q}



    type Position =

        {{

#if INTERACTIVE

            line : string

#else

            line : int

#endif

            column : int

        }}

"""



╭─[ 171.52ms - stdout ]────────────────────────────────────────────────────────╮

│ #if !INTERACTIVE                                                             │

│ namespace TestNamespace                                                      │

│ #endif                                                                       │

│                                                                              │

│ module TestModule =                                                          │

│                                                                              │

│     /// ## ParserLibrary                                                     │

│                                                                              │

│     open System                                                              │

│                                                                              │

│     /// ### TextInput                                                        │

│                                                                              │

│     let str1 = "abc                                                          │

│ def"                                                                         │

│                                                                              │

│     let str2 =                                                               │

│         "abc\                                                                │

│ def"                                                                         │

│                                                                              │

│     let str3 =                                                               │

│         $"1{                                                                 │

│             1                                                                │

│         }1"                                                                  │

│                                                                              │

│     let str4 =                                                               │

│         $"1{({|                                                              │

│             a = 1                                                            │

│         |}).a}1"                                                             │

│                                                                              │

│     let str5 =                                                               │

│         "abc \                                                               │

│             def"                                                             │

│                                                                              │

│     let x =                                                                  │

│         match '"' with                                                       │

│         | '"' -> true                                                        │

│         | _ -> false                                                         │

│                                                                              │

│     let long1 = """a"""                                                      │

│                                                                              │

│     let long2 =                                                              │

│         """                                                                  │

│ a                                                                            │

│ """                                                                          │

│                                                                              │

│     type Position =                                                          │

│         {                                                                    │

│ #if INTERACTIVE                                                              │

│             line : string                                                    │

│ #else                                                                        │

│             line : int                                                       │

│ #endif                                                                       │

│             column : int                                                     │

│         }                                                                    │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



example1

|> parse Md

|> Result.toOption

|> Option.get

|> (formatBlocks Md)

|> _equal "# TestModule (TestNamespace)



## ParserLibrary



### TextInput

"



╭─[ 158.09ms - stdout ]────────────────────────────────────────────────────────╮

│ # TestModule (TestNamespace)                                                 │

│                                                                              │

│ ## ParserLibrary                                                             │

│                                                                              │

│ ### TextInput                                                                │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



example1

|> parse Spi

|> Result.toOption

|> Option.get

|> (formatBlocks Spi)

|> _equal "// // # TestModule (TestNamespace)



// // ## ParserLibrary



inl x = 0i32



// // ### TextInput

"



╭─[ 162.57ms - stdout ]────────────────────────────────────────────────────────╮

│ // // # TestModule (TestNamespace)                                           │

│                                                                              │

│ // // ## ParserLibrary                                                       │

│                                                                              │

│ inl x = 0i32                                                                 │

│                                                                              │

│ // // ### TextInput                                                          │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## parseDibCode                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parseDibCode output file = async {

    let getLocals () = $"output: {output} / file: {file} / {getLocals ()}"

    trace Debug (fun () -> "parseDibCode") getLocals

    let! input = file |> FileSystem.readAllTextAsync

    match parse output input with

    | Result.Ok blocks -> return blocks |> formatBlocks output

    | Result.Error msg -> return failwith msg

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## writeDibCode                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline writeDibCode output path = async {

    let getLocals () = $"output: {output} / path: {path} / {getLocals ()}"

    trace Debug (fun () -> "writeDibCode") getLocals

    let! result = parseDibCode output path

    let outputPath = path |> String.replace ".dib" $".{output |> string |> 

String.toLower}"

    do! result |> FileSystem.writeAllTextAsync outputPath

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Arguments                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

[[<RequireQualifiedAccess>]]

type Arguments =

    | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]]

        File of file : string * Output



    interface Argu.IArgParserTemplate with

        member s.Usage =

            match s with

            | File _ -> nameof File



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## main                                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let main args =

    let argsMap = args |> Runtime.parseArgsMap<Arguments>



    let files =

        argsMap.[[nameof Arguments.File]]

        |> List.map (function

            | Arguments.File (path, output) -> path, output

        )



    files

    |> List.map (fun (path, output) -> path |> writeDibCode output)

    |> Async.Parallel

    |> Async.Ignore

    |> Async.runWithTimeout 30000

    |> function

        | Some () -> 0

        | None -> 1



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let args =

    System.Environment.GetEnvironmentVariable "ARGS"

    |> Runtime.splitArgs

    |> Seq.toArray



match args with

| [[||]] -> 0

| args -> if main args = 0 then 0 else failwith "main failed"



╭─[ 243.63ms - return value ]──────────────────────────────────────────────────╮

│ <div class="dni-plaintext"><pre>0</pre></div><style>                         │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 257.84ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Builder.dib            │

│ 00:00:00 #2 [Debug] parseDibCode / output: Fs / file: Builder.dib            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Builder (Polyglot)                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Async.fs

#!import ../nbs/AsyncSeq.fs

#!import ../nbs/Networking.fs

#!import ../nbs/Runtime.fs

#!import ../nbs/FileSystem.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module AsyncSeq =



    open Common



    /// ## subscribeEvent



    let inline subscribeEvent (event: IEvent<'H, 'A>) map =

        let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

        System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

        |> FSharp.Control.AsyncSeq.ofObservableBuffered



    let subscribeToken (token : System.Threading.CancellationToken) =

        let tcs = new System.Threading.Tasks.TaskCompletionSource ()

        System.Action tcs.SetResult |> token.Register |> ignore

        let start = System.DateTime.Now.Ticks

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun (...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Networking =



    open Common



    /// ## testPortOpen



    let inline testPortOpen port = async {

        let! ct = Async.CancellationToken

        use client = new System.Net.Sockets.TcpClient ()

        try

            do! client.ConnectAsync ("127.0.0.1", port, ct) |> 

Async.awaitValueTaskUnit

            return true

        with ex ->

            trace Verbose (fun () -> $"testPortOpen / ex: {ex |> 

printException}") getLocals

            return false

    }



    let inline testPortOpenTimeout timeout port = async {

        let! result =

            testPortOpen port

            |> Async.runWithTimeoutAsync timeout

        return

            match result with

            | None -> false

 ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module FileSystem =



    open Common



    /// ## Operators



    module Operators =

        let inline (</>) a b =

            System.IO.Path.Combine (a, b)



    open Operators



    /// ## createTempDirectoryName



    let inline createTempDirectoryName () =

        let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name



        System.IO.Path.GetTempPath ()

        </> $"!{root}"

        </> string (newGuidFromDateTime System.DateTime.Now)



    /// ## createTempDirectory



    let inline createTempDirectory () =

        let tempFolder = createTempDirectoryName ()

        let result = System.IO.Directory.CreateDirectory tempFolder



        let getLocals () =

            $"tempFolder:...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common

open FileSystem.Operators



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## buildProject                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline buildProject runtime path = async {

    let fullPath = path |> System.IO.Path.GetFullPath

    let fileDir = fullPath |> System.IO.Path.GetDirectoryName

    let extension = fullPath |> System.IO.Path.GetExtension



    let getLocals () = $"fullPath: {fullPath} / {getLocals ()}"

    trace Debug (fun () -> "buildProject") getLocals



    match extension with

    | ".fsproj" -> ()

    | _ -> failwith "Invalid project file"



    let runtimes =

        runtime

        |> Option.map List.singleton

        |> Option.defaultValue [[ "linux-x64"; "win-x64" ]]



    return!

        runtimes

        |> List.map (fun runtime -> async {

            let! exitCode, _result =

                Runtime.executeWithOptionsAsync

                    {

                        Command = $"dotnet publish -c release -o ../dist -r 

{runtime}"

                        CancellationToken = None

                        OnLine = None

                        WorkingDirectory = Some fileDir

                    }



            return exitCode

        })

        |> Async.Sequential

        |> Async.map Array.sum

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## persistCodeProject                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline persistCodeProject packages modules path name code = async {

    let getLocals () = $"packages: {packages} / modules: {modules} / path: 

{path} / name: {name} / code.Length: {code |> String.length} / {getLocals ()}"

    trace Debug (fun () -> "persistCodeProject") getLocals



    let targetPath = path </> "target"

    System.IO.Directory.CreateDirectory targetPath |> ignore



    let filePath = targetPath </> $"{name}.fs" |> System.IO.Path.GetFullPath

    do! code |> FileSystem.writeAllTextExists filePath



    let repositoryRoot = FileSystem.getSourceDirectory () |> 

FileSystem.findParent ".paket" false



    let modulesCode =

        modules

        |> List.map (fun path -> $"""<Compile Include="{repositoryRoot </> 

path}" />""")

        |> String.concat "\n        "



    let fsprojPath = targetPath </> $"{name}.fsproj"

    let fsprojCode = $"""<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>

        <TargetFramework>net8.0</TargetFramework>

        <LangVersion>preview</LangVersion>

        <RollForward>Major</RollForward>

        <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>

        <PublishAot>false</PublishAot>

        <PublishTrimmed>false</PublishTrimmed>

        <PublishSingleFile>true</PublishSingleFile>

        <SelfContained>true</SelfContained>

        <Version>0.0.1-alpha.1</Version>

        <OutputType>Exe</OutputType>

    </PropertyGroup>



    <ItemGroup>

        {modulesCode}

        <Compile Include="{filePath}" />

    </ItemGroup>



    <Import Project="{repositoryRoot}/.paket/Paket.Restore.targets" />

</Project>

"""

    do! fsprojCode |> FileSystem.writeAllTextExists fsprojPath



    let paketReferencesPath = targetPath </> "paket.references"

    let paketReferencesCode =

        "FSharp.Core" :: packages

        |> String.concat "\n"

    do! paketReferencesCode |> FileSystem.writeAllTextExists paketReferencesPath



    return fsprojPath

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## buildCode                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline buildCode runtime packages modules path name code = async {

    let! fsprojPath = persistCodeProject packages modules path name code

    return! fsprojPath |> buildProject runtime

}



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = FileSystem.getSourceDirectory () </> "target/test"



"1 + 1"

|> buildCode None [[]] [[]] tempFolder "test"

|> Async.runWithTimeout 60000

|> _equal (Some 0)



╭─[ 24.06s - stdout ]──────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] persistCodeProject / packages: [] / modules: [] / path:  │

│ C:\home\git\polyglot\apps\builder\target/test / name: test / code.Length: 5  │

│ 00:00:00 #2 [Debug] buildProject / fullPath:                                 │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj             │

│ 00:00:00 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c   │

│ release -o ../dist -r linux-x64"                                             │

│   WorkingDirectory = Some                                                    │

│ "C:\home\git\polyglot\apps\builder\target\test\target"                       │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:00 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for  │

│ .NET                                                                         │

│ 00:00:01 #5 [Debug] >   Determining projects to restore...                   │

│ 00:00:02 #6 [Debug] >   Restored                                             │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 699     │

│ ms).                                                                         │

│ 00:00:02 #7 [Debug] > C:\Program                                             │

│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │

│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You    │

│ are using a preview version of .NET. See:                                    │

│ https://aka.ms/dotnet-support-policy [                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]            │

│ 00:00:05 #8 [Debug] >                                                        │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,1): warning   │

│ FS0020: The result of this expression has type 'int' and is implicitly       │

│ ignored. Consider using 'ignore' to discard this value explicitly, e.g.      │

│ 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result =  │

│ expr'. [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]    │

│ 00:00:05 #9 [Debug] >                                                        │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,6): warning   │

│ FS0988: Main module of program is empty: nothing will happen when it is run  │

│ [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]           │

│ 00:00:07 #10 [Debug] >   test ->                                             │

│ C:\home\git\polyglot\apps\builder\target\test\target\bin\release\net8.0\linu │

│ x-x64\test.dll                                                               │

│ 00:00:09 #11 [Debug] >   test ->                                             │

│ C:\home\git\polyglot\apps\builder\target\test\dist\                          │

│ 00:00:09 #12 [Debug] executeAsync / exitCode: 0 / proc.Id: 68512 /           │

│ output.Length: 1240                                                          │

│ 00:00:09 #13 [Debug] executeAsync / options: { Command = "dotnet publish -c  │

│ release -o ../dist -r win-x64"                                               │

│   WorkingDirectory = Some                                                    │

│ "C:\home\git\polyglot\apps\builder\target\test\target"                       │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:10 #14 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │

│ .NET                                                                         │

│ 00:00:11 #15 [Debug] >   Determining projects to restore...                  │

│ 00:00:12 #16 [Debug] >   Restored                                            │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 510     │

│ ms).                                                                         │

│ 00:00:13 #17 [Debug] > C:\Program                                            │

│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │

│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You    │

│ are using a preview version of .NET. See:                                    │

│ https://aka.ms/dotnet-support-policy [                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]            │

│ 00:00:15 #18 [Debug] >                                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,1): warning   │

│ FS0020: The result of this expression has type 'int' and is implicitly       │

│ ignored. Consider using 'ignore' to discard this value explicitly, e.g.      │

│ 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result =  │

│ expr'. [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]    │

│ 00:00:15 #19 [Debug] >                                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,6): warning   │

│ FS0988: Main module of program is empty: nothing will happen when it is run  │

│ [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]           │

│ 00:00:16 #20 [Debug] >   test ->                                             │

│ C:\home\git\polyglot\apps\builder\target\test\target\bin\release\net8.0\win- │

│ x64\test.dll                                                                 │

│ 00:00:23 #21 [Debug] >   test ->                                             │

│ C:\home\git\polyglot\apps\builder\target\test\dist\                          │

│ 00:00:23 #22 [Debug] executeAsync / exitCode: 0 / proc.Id: 46864 /           │

│ output.Length: 1238                                                          │

│ FSharpOption<Int32>                                                          │

│       Value: 0                                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = FileSystem.getSourceDirectory () </> "target/test"



"1 + a"

|> buildCode None [[]] [[]] tempFolder "test"

|> Async.runWithTimeout 60000

|> _equal (Some 2)



╭─[ 8.00s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:23 #23 [Debug] persistCodeProject / packages: [] / modules: [] / path: │

│ C:\home\git\polyglot\apps\builder\target/test / name: test / code.Length: 5  │

│ 00:00:24 #24 [Debug] buildProject / fullPath:                                │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj             │

│ 00:00:24 #25 [Debug] executeAsync / options: { Command = "dotnet publish -c  │

│ release -o ../dist -r linux-x64"                                             │

│   WorkingDirectory = Some                                                    │

│ "C:\home\git\polyglot\apps\builder\target\test\target"                       │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:24 #26 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │

│ .NET                                                                         │

│ 00:00:25 #27 [Debug] >   Determining projects to restore...                  │

│ 00:00:25 #28 [Debug] >   Restored                                            │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 408     │

│ ms).                                                                         │

│ 00:00:25 #29 [Debug] > C:\Program                                            │

│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │

│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You    │

│ are using a preview version of .NET. See:                                    │

│ https://aka.ms/dotnet-support-policy [                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]            │

│ 00:00:27 #30 [Debug] >                                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,5): error     │

│ FS0039: The value or constructor 'a' is not defined. [                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]            │

│ 00:00:27 #31 [Debug] executeAsync / exitCode: 1 / proc.Id: 37864 /           │

│ output.Length: 684                                                           │

│ 00:00:27 #32 [Debug] executeAsync / options: { Command = "dotnet publish -c  │

│ release -o ../dist -r win-x64"                                               │

│   WorkingDirectory = Some                                                    │

│ "C:\home\git\polyglot\apps\builder\target\test\target"                       │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:27 #33 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │

│ .NET                                                                         │

│ 00:00:28 #34 [Debug] >   Determining projects to restore...                  │

│ 00:00:29 #35 [Debug] >   Restored                                            │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 334     │

│ ms).                                                                         │

│ 00:00:29 #36 [Debug] > C:\Program                                            │

│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │

│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You    │

│ are using a preview version of .NET. See:                                    │

│ https://aka.ms/dotnet-support-policy [                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]            │

│ 00:00:31 #37 [Debug] >                                                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,5): error     │

│ FS0039: The value or constructor 'a' is not defined. [                       │

│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj]            │

│ 00:00:31 #38 [Debug] executeAsync / exitCode: 1 / proc.Id: 55216 /           │

│ output.Length: 684                                                           │

│ FSharpOption<Int32>                                                          │

│       Value: 2                                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## buildFile                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline buildFile runtime packages modules path = async {

    let fullPath = path |> System.IO.Path.GetFullPath

    let dir = fullPath |> System.IO.Path.GetDirectoryName

    let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension

    let! code = fullPath |> FileSystem.readAllTextAsync



    let code = System.Text.RegularExpressions.Regex.Replace (

        code,

        @"( *)(let\s+main\s+.*?\s*=)",

        fun m -> m.Groups.[[1]].Value + "[[<EntryPoint>]]\n" + 

m.Groups.[[1]].Value + m.Groups.[[2]].Value

    )



    return! code |> buildCode runtime packages modules dir fileName

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Arguments                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

[[<RequireQualifiedAccess>]]

type Arguments =

    | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce>]] 

Path of path : string

    | [[<Argu.ArguAttributes.Unique>]] Packages of packages : string list

    | [[<Argu.ArguAttributes.Unique>]] Modules of modules : string list

    | [[<Argu.ArguAttributes.Unique>]] Runtime of runtime : string



    interface Argu.IArgParserTemplate with

        member s.Usage =

            match s with

            | Path _ -> nameof Path

            | Packages _ -> nameof Packages

            | Modules _ -> nameof Modules

            | Runtime _ -> nameof Runtime



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## main                                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let main args =

    let argsMap = args |> Runtime.parseArgsMap<Arguments>



    let path =

        match argsMap.[[nameof Arguments.Path]] with

        | [[ Arguments.Path path ]] -> Some path

        | _ -> None

        |> Option.get



    let packages =

        match argsMap |> Map.tryFind (nameof Arguments.Packages) with

        | Some [[ Arguments.Packages packages ]] -> packages

        | _ -> [[]]



    let modules =

        match argsMap |> Map.tryFind (nameof Arguments.Modules) with

        | Some [[ Arguments.Modules modules ]] -> modules

        | _ -> [[]]



    let runtime =

        match argsMap |> Map.tryFind (nameof Arguments.Runtime) with

        | Some [[ Arguments.Runtime runtime ]] -> Some runtime

        | _ -> None



    path

    |> buildFile runtime packages modules

    |> Async.runWithTimeout 60000

    |> function

        | Some exitCode -> exitCode

        | None -> 1



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let args =

    System.Environment.GetEnvironmentVariable "ARGS"

    |> Runtime.splitArgs

    |> Seq.toArray



match args with

| [[||]] -> 0

| args -> if main args = 0 then 0 else failwith "main failed"



╭─[ 29.85s - return value ]────────────────────────────────────────────────────╮

│ <div class="dni-plaintext"><pre>0</pre></div><style>                         │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 29.86s - stdout ]──────────────────────────────────────────────────────────╮

│ 00:00:33 #39 [Debug] persistCodeProject / packages: [Argu;                   │

│ FSharp.Control.AsyncSeq; System.CommandLine; ... ] / modules: [              │

│ nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Async.fs; ... ] / path:              │

│ C:\home\git\polyglot\apps\builder / name: Builder / code.Length: 5979        │

│ 00:00:33 #40 [Debug] buildProject / fullPath:                                │

│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj                      │

│ 00:00:33 #41 [Debug] executeAsync / options: { Command = "dotnet publish -c  │

│ release -o ../dist -r linux-x64"                                             │

│   WorkingDirectory = Some "C:\home\git\polyglot\apps\builder\target"         │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:33 #42 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │

│ .NET                                                                         │

│ 00:00:34 #43 [Debug] >   Determining projects to restore...                  │

│ 00:00:34 #44 [Debug] >   Restored                                            │

│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj (in 459 ms).         │

│ 00:00:35 #45 [Debug] > C:\Program                                            │

│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │

│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You    │

│ are using a preview version of .NET. See:                                    │

│ https://aka.ms/dotnet-support-policy [                                       │

│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj]                     │

│ 00:00:41 #46 [Debug] >   Builder ->                                          │

│ C:\home\git\polyglot\apps\builder\target\bin\release\net8.0\linux-x64\Builde │

│ r.dll                                                                        │

│ 00:00:43 #47 [Debug] >   Builder -> C:\home\git\polyglot\apps\builder\dist\  │

│ 00:00:43 #48 [Debug] executeAsync / exitCode: 0 / proc.Id: 31672 /           │

│ output.Length: 621                                                           │

│ 00:00:43 #49 [Debug] executeAsync / options: { Command = "dotnet publish -c  │

│ release -o ../dist -r win-x64"                                               │

│   WorkingDirectory = Some "C:\home\git\polyglot\apps\builder\target"         │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:43 #50 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │

│ .NET                                                                         │

│ 00:00:44 #51 [Debug] >   Determining projects to restore...                  │

│ 00:00:44 #52 [Debug] >   Restored                                            │

│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj (in 417 ms).         │

│ 00:00:44 #53 [Debug] > C:\Program                                            │

│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │

│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You    │

│ are using a preview version of .NET. See:                                    │

│ https://aka.ms/dotnet-support-policy [                                       │

│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj]                     │

│ 00:00:51 #54 [Debug] >   Builder ->                                          │

│ C:\home\git\polyglot\apps\builder\target\bin\release\net8.0\win-x64\Builder. │

│ dll                                                                          │

│ 00:01:02 #55 [Debug] >   Builder -> C:\home\git\polyglot\apps\builder\dist\  │

│ 00:01:02 #56 [Debug] executeAsync / exitCode: 0 / proc.Id: 48508 /           │

│ output.Length: 619                                                           │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Builder.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 317877 bytes to Builder.dib.html

In [ ]:
{ . "$ScriptDir/../apps/parser/build.ps1" } | Invoke-Block

── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # DibParser (Polyglot)                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"

#r 

@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP

arsec.dll"

#r 

@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP

arsecCS.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Async.fs

#!import ../nbs/AsyncSeq.fs

#!import ../nbs/Runtime.fs

#!import ../nbs/FileSystem.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module AsyncSeq =



    open Common



    /// ## subscribeEvent



    let inline subscribeEvent (event: IEvent<'H, 'A>) map =

        let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

        System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

        |> FSharp.Control.AsyncSeq.ofObservableBuffered



    let subscribeToken (token : System.Threading.CancellationToken) =

        let tcs = new System.Threading.Tasks.TaskCompletionSource ()

        System.Action tcs.SetResult |> token.Register |> ignore

        let start = System.DateTime.Now.Ticks

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun (...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module FileSystem =



    open Common



    /// ## Operators



    module Operators =

        let inline (</>) a b =

            System.IO.Path.Combine (a, b)



    open Operators



    /// ## createTempDirectoryName



    let inline createTempDirectoryName () =

        let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name



        System.IO.Path.GetTempPath ()

        </> $"!{root}"

        </> string (newGuidFromDateTime System.DateTime.Now)



    /// ## createTempDirectory



    let inline createTempDirectory () =

        let tempFolder = createTempDirectoryName ()

        let result = System.IO.Directory.CreateDirectory tempFolder



        let getLocals () =

            $"tempFolder:...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common

open FParsec



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## escapeCell (test)                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline escapeCell input =

    input

    |> String.split [[| '\n' |]]

    |> Array.map (function

        | line when line |> String.startsWith "\\#!" || line |> 

String.startsWith "\\#r" ->

            System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#")

        | line -> line

    )

    |> String.concat "\n"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



$"a{nl}\\#!magic{nl}b{nl}"

|> escapeCell

|> _equal (

    $"a{nl}#!magic{nl}b{nl}"

)



╭─[ 64.30ms - stdout ]─────────────────────────────────────────────────────────╮

│ a                                                                            │

│ #!magic                                                                      │

│ b                                                                            │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## magicMarker                                                               │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let magicMarker : Parser<string, unit> = pstring "#!"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic"

|> run magicMarker

|> _equal (

    Success ("#!", (), Position ("", 2, 1, 3))

)



╭─[ 60.52ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: #!                                                              │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 2                                                             │

│         Line: 1                                                              │

│         Column: 3                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"##!magic"

|> run magicMarker

|> _equal (

    Failure (

        $"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}",

        ParserError (

            Position ("", 0, 1, 1),

            (),

            ErrorMessageList (ExpectedString "#!")

        ),

        ()

    )

)



╭─[ 70.22ms - stdout ]─────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: Error in Ln: 1 Col: 1                                           │

│ ##!magic                                                                     │

│ ^                                                                            │

│ Expecting: '#!'                                                              │

│                                                                              │

│       Item2: ParserError                                                     │

│         Position: Position                                                   │

│           Index: 0                                                           │

│           Line: 1                                                            │

│           Column: 1                                                          │

│           StreamName:                                                        │

│         UserState: <null>                                                    │

│         Messages: ErrorMessageList                                           │

│           Head: ExpectedString                                               │

│             String: #!                                                       │

│             Type: ExpectedString                                             │

│           Tail: <null>                                                       │

│       Item3: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## magicCommand                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let magicCommand =

    magicMarker

    >>. manyTill anyChar newline

    |>> (System.String.Concat >> String.trim)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic



a"

|> run magicCommand

|> _equal (

    Success ("magic", (), Position ("", 8, 2, 1))

)



╭─[ 43.26ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: magic                                                           │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 8                                                             │

│         Line: 2                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



" #!magic



a"

|> run magicCommand

|> _equal (

    Failure (

        $"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}",

        ParserError (

            Position ("", 0, 1, 1),

            (),

            ErrorMessageList (ExpectedString "#!")

        ),

        ()

    )

)



╭─[ 53.87ms - stdout ]─────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: Error in Ln: 1 Col: 1                                           │

│  #!magic                                                                     │

│ ^                                                                            │

│ Expecting: '#!'                                                              │

│                                                                              │

│       Item2: ParserError                                                     │

│         Position: Position                                                   │

│           Index: 0                                                           │

│           Line: 1                                                            │

│           Column: 1                                                          │

│           StreamName:                                                        │

│         UserState: <null>                                                    │

│         Messages: ErrorMessageList                                           │

│           Head: ExpectedString                                               │

│             String: #!                                                       │

│             Type: ExpectedString                                             │

│           Tail: <null>                                                       │

│       Item3: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## content                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let content =

    (newline >>. magicMarker) <|> (eof >>. preturn "")

    |> attempt

    |> lookAhead

    |> manyTill anyChar

    |>> (System.String.Concat >> String.trim)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic





a





"

|> run content

|> _equal (

    Success ("#!magic





a", (), Position ("", 14, 7, 1))

)



╭─[ 37.99ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: #!magic                                                         │

│                                                                              │

│                                                                              │

│ a                                                                            │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 14                                                            │

│         Line: 7                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Block                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type Block =

    {

        magic : string

        content : string

    }



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## block                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let block =

    pipe2

        magicCommand

        content

        (fun magic content ->

            {

                magic = magic

                content = content

            })



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!magic





a





"

|> run block

|> _equal (

    Success (

        { magic = "magic"; content = "a" },

        (),

        Position ("", 14, 7, 1)

    )

)



╭─[ 45.91ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: Block                                                           │

│         magic: magic                                                         │

│         content: a                                                           │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 14                                                            │

│         Line: 7                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## blocks                                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let blocks =

    skipMany newline

    >>. sepEndBy block (skipMany1 newline)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test





"#!magic1



a



\#!magic2



b



"

|> escapeCell

|> run blocks

|> _equal (

    Success (

        [[

            { magic = "magic1"; content = "a" }

            { magic = "magic2"; content = "b" }

        ]],

        (),

        Position ("", 26, 9, 1)

    )

)



╭─[ 61.18ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item1: FSharpList<Block>                                               │

│         - magic: magic1                                                      │

│           content: a                                                         │

│         - magic: magic2                                                      │

│           content: b                                                         │

│       Item2: <null>                                                          │

│       Item3: Position                                                        │

│         Index: 26                                                            │

│         Line: 9                                                              │

│         Column: 1                                                            │

│         StreamName:                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Output                                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type Output =

    | Fs

    | Md

    | Spi

    | Spir



let inline kernelOutputs magic =

    match magic with

    | "fsharp" -> [[ Fs ]]

    | "markdown" -> [[ Md ]]

    | "spiral" -> [[ Spi; Spir ]]

    | _ -> [[]]



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## formatBlock                                                               │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline formatBlock output (block : Block) =

    match output, block with

    | output, { magic = "markdown"; content = content } ->

        let markdownComment =

            match output with

            | Spi | Spir -> "// // "

            | Fs -> "/// "

            | _ -> ""

        content

        |> String.split [[| '\n' |]]

        |> Array.map (String.trimEnd [[||]])

        |> Array.filter (String.endsWith " (test)" >> not)

        |> Array.map (function

            | "" -> markdownComment |> String.trim

            | line -> System.Text.RegularExpressions.Regex.Replace (line, 

"^\\s*", $"$&{markdownComment}")

        )

        |> String.concat "\n"

    | Fs, { magic = "fsharp"; content = content } ->

        let trimmedContent = content |> String.trim

        if trimmedContent |> String.startsWith "//// test" || trimmedContent |> 

String.startsWith "//// ignore"

        then ""

        else

            content

            |> String.split [[| '\n' |]]

            |> Array.filter (String.trimStart [[||]] >> String.startsWith "#r" 

>> not)

            |> String.concat "\n"

    | (Spi | Spir), { magic = "spiral"; content = content } ->

        let trimmedContent = content |> String.trim

        if trimmedContent |> String.startsWith "// // test" || trimmedContent |>

String.startsWith "// // ignore"

        then ""

        else content

    | _ -> ""



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!markdown





a



    b



c





\#!markdown





c





\#!fsharp





let a = 1"

|> escapeCell

|> run block

|> function

    | Success (block, _, _) -> formatBlock Fs block

    | Failure (msg, _, _) -> failwith msg

|> _equal "/// a

///

    /// b

///

/// c"



╭─[ 74.02ms - stdout ]─────────────────────────────────────────────────────────╮

│ /// a                                                                        │

│ ///                                                                          │

│     /// b                                                                    │

│ ///                                                                          │

│ /// c                                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## formatBlocks                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline formatBlocks output blocks =

    blocks

    |> List.map (formatBlock output)

    |> List.filter ((<>) "")

    |> String.concat "\n\n"

    |> fun s -> s + "\n"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"#!markdown





a



b





\#!markdown





c





\#!fsharp





let a = 1



\#!markdown



d (test)



\#!fsharp



//// test



let a = 2



\#!markdown



e



\#!fsharp



let a = 3"

|> escapeCell

|> run blocks

|> function

    | Success (blocks, _, _) -> formatBlocks Fs blocks

    | Failure (msg, _, _) -> failwith msg

|> _equal "/// a

///

/// b



/// c



let a = 1



/// e



let a = 3

"



╭─[ 85.87ms - stdout ]─────────────────────────────────────────────────────────╮

│ /// a                                                                        │

│ ///                                                                          │

│ /// b                                                                        │

│                                                                              │

│ /// c                                                                        │

│                                                                              │

│ let a = 1                                                                    │

│                                                                              │

│ /// e                                                                        │

│                                                                              │

│ let a = 3                                                                    │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## parse                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parse output input =

    match run blocks input with

    | Success (blocks, _, _) ->

        let blocks =

            blocks

            |> List.filter (fun block ->

                block.magic |> kernelOutputs |> List.contains output || 

block.magic = "markdown"

            )

        

        match blocks with

        | { magic = "markdown"; content = content } :: _

            when output = Fs

            && content |> String.startsWith "# "

            && content |> String.endsWith ")"

            ->

            let inline indentBlock (block : Block) =

                { block with

                    content =

                        block.content

                        |> String.split [[| '\n' |]]

                        |> Array.fold

                            (fun (lines, isMultiline) line ->

                                let trimmedLine = line |> String.trim

                                if trimmedLine = ""

                                then "" :: lines, isMultiline

                                else

                                    let inline singleQuoteLine () =

                                        trimmedLine |> Seq.sumBy ((=) '"' >> 

System.Convert.ToInt32) = 1

                                        && trimmedLine |> String.contains 

@"'""'" |> not

                                        && trimmedLine |> String.endsWith "{" |>

not

                                        && trimmedLine |> String.endsWith "{|" 

|> not

                                        && trimmedLine |> String.startsWith "}" 

|> not

                                        && trimmedLine |> String.startsWith "|}"

|> not



                                    match isMultiline, trimmedLine |> 

String.splitString [[| $"{q}{q}{q}" |]] with

                                    | false, [[| _; _ |]] ->

                                        $"    {line}" :: lines, true



                                    | true, [[| _; _ |]] ->

                                        line :: lines, false



                                    | false, _ when singleQuoteLine () ->

                                        $"    {line}" :: lines, true



                                    | false, _ when line |> String.startsWith 

"#" && block.magic = "fsharp" ->

                                        line :: lines, false



                                    | false, _ ->

                                        $"    {line}" :: lines, false



                                    | true, _ when singleQuoteLine () && line |>

String.startsWith "    " ->

                                        $"    {line}" :: lines, false



                                    | true, _ when singleQuoteLine () ->

                                        line :: lines, false



                                    | true, _ ->

                                        line :: lines, true

                            )

                            ([[]], false)

                        |> fst

                        |> List.rev

                        |> String.concat "\n"

                }



            let moduleName, namespaceName =

                System.Text.RegularExpressions.Regex.Match (content, @"# (.*) 

\((.*)\)$")

                |> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value



            let moduleBlock =

                {

                    magic = "fsharp"

                    content =

                        $"#if !INTERACTIVE

namespace {namespaceName}

#endif



module {moduleName} ="

                }



            blocks

            |> List.indexed

            |> List.fold

                (fun blocks (index, block) ->

                    match index with

                    | 0 -> blocks

                    | 1 -> indentBlock block :: moduleBlock :: blocks

                    | _ -> indentBlock block :: blocks

                )

                [[]]

            |> List.rev

        | _ -> blocks

        |> Result.Ok

    | Failure (errorMsg, _, _) -> Result.Error errorMsg



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let example1 =

    $"""#!meta



{{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name":

"fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}}



\#!markdown



# TestModule (TestNamespace)



\#!fsharp



\#!import file.dib



\#!fsharp



\#r "nuget:Expecto"



\#!markdown



## ParserLibrary



\#!fsharp



open System



\#!markdown



## x (test)



\#!fsharp



//// ignore



let x = 1



\#!spiral



// // test



inl x = 0i32



\#!spiral



inl x = 0i32



\#!markdown



### TextInput



\#!fsharp



let str1 = "abc

def"



let str2 =

    "abc\

def"



let str3 =

    $"1{{

        1

    }}1"



let str4 =

    $"1{{({{|

        a = 1

    |}}).a}}1"



let str5 =

    "abc \

        def"



let x =

    match '"' with

    | '"' -> true

    | _ -> false



let long1 = {q}{q}{q}a{q}{q}{q}



let long2 =

    {q}{q}{q}

a

{q}{q}{q}



\#!fsharp



type Position =

    {{

#if INTERACTIVE

        line : string

#else

        line : int

#endif

        column : int

    }}"""

    |> escapeCell



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



example1

|> parse Fs

|> Result.toOption

|> Option.get

|> (formatBlocks Fs)

|> _equal $"""#if !INTERACTIVE

namespace TestNamespace

#endif



module TestModule =



    /// ## ParserLibrary



    open System



    /// ### TextInput



    let str1 = "abc

def"



    let str2 =

        "abc\

def"



    let str3 =

        $"1{{

            1

        }}1"



    let str4 =

        $"1{{({{|

            a = 1

        |}}).a}}1"



    let str5 =

        "abc \

            def"



    let x =

        match '"' with

        | '"' -> true

        | _ -> false



    let long1 = {q}{q}{q}a{q}{q}{q}



    let long2 =

        {q}{q}{q}

a

{q}{q}{q}



    type Position =

        {{

#if INTERACTIVE

            line : string

#else

            line : int

#endif

            column : int

        }}

"""



╭─[ 184.37ms - stdout ]────────────────────────────────────────────────────────╮

│ #if !INTERACTIVE                                                             │

│ namespace TestNamespace                                                      │

│ #endif                                                                       │

│                                                                              │

│ module TestModule =                                                          │

│                                                                              │

│     /// ## ParserLibrary                                                     │

│                                                                              │

│     open System                                                              │

│                                                                              │

│     /// ### TextInput                                                        │

│                                                                              │

│     let str1 = "abc                                                          │

│ def"                                                                         │

│                                                                              │

│     let str2 =                                                               │

│         "abc\                                                                │

│ def"                                                                         │

│                                                                              │

│     let str3 =                                                               │

│         $"1{                                                                 │

│             1                                                                │

│         }1"                                                                  │

│                                                                              │

│     let str4 =                                                               │

│         $"1{({|                                                              │

│             a = 1                                                            │

│         |}).a}1"                                                             │

│                                                                              │

│     let str5 =                                                               │

│         "abc \                                                               │

│             def"                                                             │

│                                                                              │

│     let x =                                                                  │

│         match '"' with                                                       │

│         | '"' -> true                                                        │

│         | _ -> false                                                         │

│                                                                              │

│     let long1 = """a"""                                                      │

│                                                                              │

│     let long2 =                                                              │

│         """                                                                  │

│ a                                                                            │

│ """                                                                          │

│                                                                              │

│     type Position =                                                          │

│         {                                                                    │

│ #if INTERACTIVE                                                              │

│             line : string                                                    │

│ #else                                                                        │

│             line : int                                                       │

│ #endif                                                                       │

│             column : int                                                     │

│         }                                                                    │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



example1

|> parse Md

|> Result.toOption

|> Option.get

|> (formatBlocks Md)

|> _equal "# TestModule (TestNamespace)



## ParserLibrary



### TextInput

"



╭─[ 236.18ms - stdout ]────────────────────────────────────────────────────────╮

│ # TestModule (TestNamespace)                                                 │

│                                                                              │

│ ## ParserLibrary                                                             │

│                                                                              │

│ ### TextInput                                                                │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



example1

|> parse Spi

|> Result.toOption

|> Option.get

|> (formatBlocks Spi)

|> _equal "// // # TestModule (TestNamespace)



// // ## ParserLibrary



inl x = 0i32



// // ### TextInput

"



╭─[ 171.43ms - stdout ]────────────────────────────────────────────────────────╮

│ // // # TestModule (TestNamespace)                                           │

│                                                                              │

│ // // ## ParserLibrary                                                       │

│                                                                              │

│ inl x = 0i32                                                                 │

│                                                                              │

│ // // ### TextInput                                                          │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## parseDibCode                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parseDibCode output file = async {

    let getLocals () = $"output: {output} / file: {file} / {getLocals ()}"

    trace Debug (fun () -> "parseDibCode") getLocals

    let! input = file |> FileSystem.readAllTextAsync

    match parse output input with

    | Result.Ok blocks -> return blocks |> formatBlocks output

    | Result.Error msg -> return failwith msg

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## writeDibCode                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline writeDibCode output path = async {

    let getLocals () = $"output: {output} / path: {path} / {getLocals ()}"

    trace Debug (fun () -> "writeDibCode") getLocals

    let! result = parseDibCode output path

    let outputPath = path |> String.replace ".dib" $".{output |> string |> 

String.toLower}"

    do! result |> FileSystem.writeAllTextAsync outputPath

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Arguments                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

[[<RequireQualifiedAccess>]]

type Arguments =

    | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]]

        File of file : string * Output



    interface Argu.IArgParserTemplate with

        member s.Usage =

            match s with

            | File _ -> nameof File



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## main                                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let main args =

    let argsMap = args |> Runtime.parseArgsMap<Arguments>



    let files =

        argsMap.[[nameof Arguments.File]]

        |> List.map (function

            | Arguments.File (path, output) -> path, output

        )



    files

    |> List.map (fun (path, output) -> path |> writeDibCode output)

    |> Async.Parallel

    |> Async.Ignore

    |> Async.runWithTimeout 30000

    |> function

        | Some () -> 0

        | None -> 1



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let args =

    System.Environment.GetEnvironmentVariable "ARGS"

    |> Runtime.splitArgs

    |> Seq.toArray



match args with

| [[||]] -> 0

| args -> if main args = 0 then 0 else failwith "main failed"



╭─[ 279.82ms - return value ]──────────────────────────────────────────────────╮

│ <div class="dni-plaintext"><pre>0</pre></div><style>                         │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 294.98ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] writeDibCode / output: Fs / path: DibParser.dib          │

│ 00:00:00 #2 [Debug] parseDibCode / output: Fs / file: DibParser.dib          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook DibParser.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 363952 bytes to DibParser.dib.html

23:07:25 #1 [Debug] persistCodeProject / packages: [Argu; FParsec; FSharp.Control.AsyncSeq; ... ] / modules: [nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Async.fs; ... ] / path: C:\home\git\polyglot\apps\parser / name: DibParser / code.Length: 9066

23:07:26 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\parser\target\DibParser.fsproj

23:07:26 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\parser\target"

  CancellationToken = None

  OnLine = None }

23:07:26 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:07:27 #5 [Debug] >   Determining projects to restore...

23:07:27 #6 [Debug] >   Restored C:\home\git\polyglot\apps\parser\target\DibParser.fsproj (in 497 ms).

23:07:28 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\parser\target\DibParser.fsproj]

23:07:35 #8 [Debug] >   DibParser -> C:\home\git\polyglot\apps\parser\target\bin\release\net8.0\linux-x64\DibParser.dll

23:07:36 #9 [Debug] >   DibParser -> C:\home\git\polyglot\apps\parser\dist\

23:07:36 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 32796 / output.Length: 627

23:07:36 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\parser\target"

  CancellationToken = None

  OnLine = None }

23:07:37 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:07:38 #13 [Debug] >   Determining projects to restore...

23:07:39 #14 [Debug] >   Restored C:\home\git\polyglot\apps\parser\target\DibParser.fsproj (in 576 ms).

23:07:39 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\parser\target\DibParser.fsproj]

23:07:46 #16 [Debug] >   DibParser -> C:\home\git\polyglot\apps\parser\target\bin\release\net8.0\win-x64\DibParser.dll

23:07:55 #17 [Debug] >   DibParser -> C:\home\git\polyglot\apps\parser\dist\

23:07:55 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 5692 / output.Length: 625



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # JsonParser (Polyglot)                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import Parser.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Parser =



    open Common



    /// ### TextInput



    type Position =

        {

            line : int

            column : int

        }



    let initialPos = { line = 0; column = 0 }



    let inline incrCol (pos : Position) =

        { pos with column = pos.column + 1 }



    let inline incrLine pos =

        { line = pos.line + 1; column = 0 }



    type InputState =

        {

            lines : string[[]]

            position : Position

        }



    let inline fromStr str =

        {

            lines =

                if str |> String.IsNullOrEmpty

                then [[||]]

                else str |> String.splitString [[| "\r\n"; "\n" |]]

            position = initialPos

        }



   ...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common

open Parser



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## JsonParser                                                                │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

(*

// --------------------------------

JSON spec from http://www.json.org/

// --------------------------------



The JSON spec is available at [[json.org]](http://www.json.org/). I'll paraphase

it here:



* A `value` can be a `string` or a `number` or a `bool` or `null` or an `object`

or an `array`.

  * These structures can be nested.

* A `string` is a sequence of zero or more Unicode characters, wrapped in double

quotes, using backslash escapes.

* A `number` is very much like a C or Java number, except that the octal and 

hexadecimal formats are not used.

* A `boolean` is the literal `true` or `false`

* A `null` is the literal `null`

* An `object` is an unordered set of name/value pairs.

  * An object begins with { (left brace) and ends with } (right brace).

  * Each name is followed by : (colon) and the name/value pairs are separated by

, (comma).

* An `array` is an ordered collection of values.

  * An array begins with [[ (left bracket) and ends with ]] (right bracket).

  * Values are separated by , (comma).

* Whitespace can be inserted between any pair of tokens.



*)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline parserEqual (expected : ParseResult<'a>) (actual : ParseResult<'a * 

Input>) =

    match actual, expected with

    | Success (_actual, _), Success _expected ->

        printResult actual

        _actual |> _equal _expected

    | Failure (l1, e1, p1), Failure (l2, e2, p2) when l1 = l2 && e1 = e2 && p1 =

p2 ->

        printResult actual

    | _ ->

        printfn $"Actual: {actual}"

        printfn $"Expected: {expected}"

        failwith "Parse failed"

    actual



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### JValue                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type JValue =

    | JString of string

    | JNumber of float

    | JBool   of bool

    | JNull

    | JObject of Map<string, JValue>

    | JArray  of JValue list



── fsharp ──────────────────────────────────────────────────────────────────────

let jValue, jValueRef = createParserForwardedToRef<JValue> ()



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jNull                                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jNull =

    pstring "null"

    >>% JNull

    <?> "null"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



jValueRef <|

    choice

        [[

            jNull

        ]]



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jValue "null"

|> parserEqual (Success JNull)



╭─[ 242.66ms - return value ]──────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNull, { lines = [                      │

│ |&quot;null&quot;|]<br/>                  position = { line = 0<br/>         │

│ column = 4 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNull, { lines = [|&quot;null&quot;|]<br/>      │

│ position = { line = 0<br/>               column = 4 }                        │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNull</code></span></summary><div><table><thead> │

│ <tr></tr></thead><tbody></tbody></table></div></details></td></tr><tr><td>It │

│ em2</td><td><details class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>{ lines = [|&quot;null&quot;|]<br/>  position =  │

│ { line = 0<br/>               column = 4 }                                   │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ null                         │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 4                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 270.39ms - stdout ]────────────────────────────────────────────────────────╮

│ JNull                                                                        │

│ JNull                                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNull "nulp"

|> parserEqual (

    Failure (

        "null",

        "Unexpected 'p'",

        { currentLine = "nulp"; line = 0; column = 3 }

    )

)



╭─[ 55.65ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure (&quot;null&quot;, &quot;Unexpected      │

│ &#39;p&#39;&quot;, { currentLine = &quot;nulp&quot;<br/>                     │

│ line = 0<br/>                                     column = 3                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>null</pre></div></td></tr><tr><td>Item2</td><td>< │

│ div class="dni-plaintext"><pre>Unexpected                                    │

│ &#39;p&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;nulp&quot;<br/>  line = 0<br/>  column = 3               │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div                                                     │

│ class="dni-plaintext"><pre>nulp</pre></div></td></tr><tr><td>line</td><td><d │

│ iv                                                                           │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>3</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 78.11ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:3 Error parsing null                                              │

│ nulp                                                                         │

│    ^Unexpected 'p'                                                           │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jBool                                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jBool =

    let jtrue =

        pstring "true"

        >>% JBool true

    let jfalse =

        pstring "false"

        >>% JBool false



    jtrue <|> jfalse

    <?> "bool"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



jValueRef <|

    choice

        [[

            jNull

            jBool

        ]]



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jBool "true"

|> parserEqual (Success (JBool true))



╭─[ 52.20ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JBool true, { lines = [                 │

│ |&quot;true&quot;|]<br/>                       position = { line = 0<br/>    │

│ column = 4 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JBool true, { lines = [|&quot;true&quot;|]<br/> │

│ position = { line = 0<br/>               column = 4 }                        │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JBool                                            │

│ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │

│ td>Item</td><td><div                                                         │

│ class="dni-plaintext"><pre>True</pre></div></td></tr></tbody></table></div>< │

│ /details></td></tr><tr><td>Item2</td><td><details                            │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;true&quot;|]<br/>  position = { line = 0<br/>               column =  │

│ 4 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ true                         │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 4                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 81.69ms - stdout ]─────────────────────────────────────────────────────────╮

│ JBool true                                                                   │

│ JBool                                                                        │

│       Item: True                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jBool "false"

|> parserEqual (Success (JBool false))



╭─[ 55.88ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JBool false, { lines = [                │

│ |&quot;false&quot;|]<br/>                        position = { line = 0<br/>  │

│ column = 5 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JBool false, { lines = [                        │

│ |&quot;false&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 5 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JBool                                            │

│ false</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │

│ <td>Item</td><td><div                                                        │

│ class="dni-plaintext"><pre>False</pre></div></td></tr></tbody></table></div> │

│ </details></td></tr><tr><td>Item2</td><td><details                           │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;false&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 5 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ false                        │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 5                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>5</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 88.20ms - stdout ]─────────────────────────────────────────────────────────╮

│ JBool false                                                                  │

│ JBool                                                                        │

│       Item: False                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jBool "truX"

|> parserEqual (

    Failure (

        "bool",

        "Unexpected 't'",

        { currentLine = "truX"; line = 0; column = 0 }

    )

)



╭─[ 34.18ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure (&quot;bool&quot;, &quot;Unexpected      │

│ &#39;t&#39;&quot;, { currentLine = &quot;truX&quot;<br/>                     │

│ line = 0<br/>                                     column = 0                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>bool</pre></div></td></tr><tr><td>Item2</td><td>< │

│ div class="dni-plaintext"><pre>Unexpected                                    │

│ &#39;t&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;truX&quot;<br/>  line = 0<br/>  column = 0               │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div                                                     │

│ class="dni-plaintext"><pre>truX</pre></div></td></tr><tr><td>line</td><td><d │

│ iv                                                                           │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 57.33ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:0 Error parsing bool                                              │

│ truX                                                                         │

│ ^Unexpected 't'                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jUnescapedChar                                                           │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jUnescapedChar =

    satisfy (fun ch -> ch <> '\\' && ch <> '\"') "char"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jUnescapedChar "a"

|> parserEqual (Success 'a')



╭─[ 62.83ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (&#39;a&#39;, { lines = [                │

│ |&quot;a&quot;|]<br/>                position = { line = 0<br/>              │

│ column = 1 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(a, { lines = [|&quot;a&quot;|]<br/>  position = │

│ { line = 0<br/>               column = 1 }                                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>a</pre></div></td></tr><tr><td>Item2</td><td><det │

│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │

│ = [|&quot;a&quot;|]<br/>  position = { line = 0<br/>               column =  │

│ 1 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ a                            │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 1                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 88.61ms - stdout ]─────────────────────────────────────────────────────────╮

│ 'a'                                                                          │

│ a                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jUnescapedChar "\\"

|> parserEqual (

    Failure (

        "char",

        "Unexpected '\\'",

        { currentLine = "\\"; line = 0; column = 0 }

    )

)



╭─[ 38.07ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure (&quot;char&quot;, &quot;Unexpected      │

│ &#39;\&#39;&quot;, { currentLine = &quot;\&quot;<br/>                        │

│ line = 0<br/>                                     column = 0                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>char</pre></div></td></tr><tr><td>Item2</td><td>< │

│ div class="dni-plaintext"><pre>Unexpected                                    │

│ &#39;\&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;\&quot;<br/>  line = 0<br/>  column = 0                  │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div                                                     │

│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>line</td><td><div  │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 58.39ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:0 Error parsing char                                              │

│ \                                                                            │

│ ^Unexpected '\'                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jEscapedChar                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jEscapedChar =

    [[

        ("\\\"",'\"')

        ("\\\\",'\\')

        ("\\/",'/')

        ("\\b",'\b')

        ("\\f",'\f')

        ("\\n",'\n')

        ("\\r",'\r')

        ("\\t",'\t')

    ]]

    |> List.map (fun (toMatch, result) ->

        pstring toMatch >>% result

    )

    |> choice

    <?> "escaped char"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jEscapedChar "\\\\"

|> parserEqual (Success '\\')



╭─[ 38.04ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (&#39;\\&#39;, { lines = [               │

│ |&quot;\\&quot;|]<br/>                 position = { line = 0<br/>            │

│ column = 2 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(\, { lines = [|&quot;\\&quot;|]<br/>  position  │

│ = { line = 0<br/>               column = 2 }                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>Item2</td><td><det │

│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │

│ = [|&quot;\\&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 2 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ \\                           │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 2                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 61.38ms - stdout ]─────────────────────────────────────────────────────────╮

│ '\\'                                                                         │

│ \                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jEscapedChar "\\t"

|> parserEqual (Success '\t')



╭─[ 44.69ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (&#39;\009&#39;, { lines = [             │

│ |&quot;\t&quot;|]<br/>                   position = { line = 0<br/>          │

│ column = 2 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(	, { lines = [|&quot;\t&quot;|]<br/>  position =  │

│ { line = 0<br/>               column = 2 }                                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div class="dni-plaintext"><pre>	                               │

│ </pre></div></td></tr><tr><td>Item2</td><td><details                         │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;\t&quot;|]<br/>  position = { line = 0<br/>               column = 2  │

│ }                                                                            │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ \t                           │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 2                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 76.08ms - stdout ]─────────────────────────────────────────────────────────╮

│ '\009'                                                                       │

│ 	                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jEscapedChar @"\\"

|> parserEqual (Success '\\')



╭─[ 41.64ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (&#39;\\&#39;, { lines = [               │

│ |&quot;\\&quot;|]<br/>                 position = { line = 0<br/>            │

│ column = 2 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(\, { lines = [|&quot;\\&quot;|]<br/>  position  │

│ = { line = 0<br/>               column = 2 }                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>Item2</td><td><det │

│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │

│ = [|&quot;\\&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 2 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ \\                           │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 2                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 67.63ms - stdout ]─────────────────────────────────────────────────────────╮

│ '\\'                                                                         │

│ \                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jEscapedChar @"\n"

|> parserEqual (Success '\n')



╭─[ 36.10ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (&#39;\010&#39;, { lines = [             │

│ |&quot;<br/>&quot;|]<br/>                   position = { line = 0<br/>       │

│ column = 2 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(<br/>, { lines = [|&quot;<br/>&quot;|]<br/>     │

│ position = { line = 0<br/>               column = 2 }                        │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div class="dni-plaintext"><pre>                              │

│ </pre></div></td></tr><tr><td>Item2</td><td><details                         │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;<br/>&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 2 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ <br/>                        │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 2                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 62.39ms - stdout ]─────────────────────────────────────────────────────────╮

│ '\010'                                                                       │

│                                                                              │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jEscapedChar "a"

|> parserEqual (

    Failure (

        "escaped char",

        "Unexpected 'a'",

        { currentLine = "a"; line = 0; column = 0 }

    )

)



╭─[ 28.99ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure (&quot;escaped char&quot;,               │

│ &quot;Unexpected &#39;a&#39;&quot;, { currentLine = &quot;a&quot;<br/>       │

│ line = 0<br/>                                             column = 0         │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div class="dni-plaintext"><pre>escaped                       │

│ char</pre></div></td></tr><tr><td>Item2</td><td><div                         │

│ class="dni-plaintext"><pre>Unexpected                                        │

│ &#39;a&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;a&quot;<br/>  line = 0<br/>  column = 0                  │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div                                                     │

│ class="dni-plaintext"><pre>a</pre></div></td></tr><tr><td>line</td><td><div  │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 51.13ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:0 Error parsing escaped char                                      │

│ a                                                                            │

│ ^Unexpected 'a'                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jUnicodeChar                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jUnicodeChar =

    let backslash = pchar '\\'

    let uChar = pchar 'u'

    let hexdigit = anyOf ([[ '0' .. '9' ]] @ [[ 'A' .. 'F' ]] @ [[ 'a' .. 'f' 

]])

    let fourHexDigits = hexdigit .>>. hexdigit .>>. hexdigit .>>. hexdigit



    let inline convertToChar (((h1, h2), h3), h4) =

        let str = $"%c{h1}%c{h2}%c{h3}%c{h4}"

        Int32.Parse (str, Globalization.NumberStyles.HexNumber) |> char



    backslash >>. uChar >>. fourHexDigits

    |>> convertToChar



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jUnicodeChar "\\u263A"

|> parserEqual (Success '☺')



╭─[ 63.90ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (&#39;☺&#39;, { lines = [                │

│ |&quot;\u263A&quot;|]<br/>                position = { line = 0<br/>         │

│ column = 6 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(☺, { lines = [|&quot;\u263A&quot;|]<br/>        │

│ position = { line = 0<br/>               column = 6 }                        │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>☺</pre></div></td></tr><tr><td>Item2</td><td><det │

│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │

│ = [|&quot;\u263A&quot;|]<br/>  position = { line = 0<br/>                    │

│ column = 6 }                                                                 │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ \u263A                       │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 6                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>6</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 89.10ms - stdout ]─────────────────────────────────────────────────────────╮

│ '☺'                                                                          │

│ ☺                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jString                                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let quotedString =

    let quote = pchar '\"' <?> "quote"

    let jchar = jUnescapedChar <|> jEscapedChar <|> jUnicodeChar



    quote >>. manyChars jchar .>> quote



── fsharp ──────────────────────────────────────────────────────────────────────

let jString =

    quotedString

    |>> JString

    <?> "quoted string"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



jValueRef <|

    choice

        [[

            jNull

            jBool

            jString

        ]]



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jString "\"\""

|> parserEqual (Success (JString ""))



╭─[ 53.81ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JString &quot;&quot;, { lines = [       │

│ |&quot;&quot;&quot;&quot;|]<br/>                       position = { line =   │

│ 0<br/>                                    column = 2 }                       │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JString &quot;&quot;, { lines = [               │

│ |&quot;&quot;&quot;&quot;|]<br/>  position = { line = 0<br/>                 │

│ column = 2 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JString                                          │

│ &quot;&quot;</code></span></summary><div><table><thead><tr></tr></thead><tbo │

│ dy><tr><td>Item</td><td><div                                                 │

│ class="dni-plaintext"><pre></pre></div></td></tr></tbody></table></div></det │

│ ails></td></tr><tr><td>Item2</td><td><details                                │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;&quot;&quot;&quot;|]<br/>  position = { line = 0<br/>                 │

│ column = 2 }                                                                 │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ &quot;&quot;                 │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 2                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 83.02ms - stdout ]─────────────────────────────────────────────────────────╮

│ JString ""                                                                   │

│ JString                                                                      │

│       Item:                                                                  │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jString "\"a\""

|> parserEqual (Success (JString "a"))



╭─[ 39.94ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JString &quot;a&quot;, { lines = [      │

│ |&quot;&quot;a&quot;&quot;|]<br/>                        position = { line = │

│ 0<br/>                                     column = 3 }                      │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JString &quot;a&quot;, { lines = [              │

│ |&quot;&quot;a&quot;&quot;|]<br/>  position = { line = 0<br/>                │

│ column = 3 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JString                                          │

│ &quot;a&quot;</code></span></summary><div><table><thead><tr></tr></thead><tb │

│ ody><tr><td>Item</td><td><div                                                │

│ class="dni-plaintext"><pre>a</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr><tr><td>Item2</td><td><details                               │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;&quot;a&quot;&quot;|]<br/>  position = { line = 0<br/>                │

│ column = 3 }                                                                 │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ &quot;a&quot;                │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 3                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>3</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 71.30ms - stdout ]─────────────────────────────────────────────────────────╮

│ JString "a"                                                                  │

│ JString                                                                      │

│       Item: a                                                                │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jString "\"ab\""

|> parserEqual (Success (JString "ab"))



╭─[ 45.19ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JString &quot;ab&quot;, { lines = [     │

│ |&quot;&quot;ab&quot;&quot;|]<br/>                         position = { line │

│ = 0<br/>                                      column = 4 }                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JString &quot;ab&quot;, { lines = [             │

│ |&quot;&quot;ab&quot;&quot;|]<br/>  position = { line = 0<br/>               │

│ column = 4 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JString                                          │

│ &quot;ab&quot;</code></span></summary><div><table><thead><tr></tr></thead><t │

│ body><tr><td>Item</td><td><div                                               │

│ class="dni-plaintext"><pre>ab</pre></div></td></tr></tbody></table></div></d │

│ etails></td></tr><tr><td>Item2</td><td><details                              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;&quot;ab&quot;&quot;|]<br/>  position = { line = 0<br/>               │

│ column = 4 }                                                                 │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ &quot;ab&quot;               │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 4                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 77.69ms - stdout ]─────────────────────────────────────────────────────────╮

│ JString "ab"                                                                 │

│ JString                                                                      │

│       Item: ab                                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jString "\"ab\\tde\""

|> parserEqual (Success (JString "ab\tde"))



╭─[ 44.41ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JString &quot;ab	de&quot;, { lines = [    │

│ |&quot;&quot;ab\tde&quot;&quot;|]<br/>                            position = │

│ { line = 0<br/>                                         column = 8 }         │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JString &quot;ab	de&quot;, { lines = [            │

│ |&quot;&quot;ab\tde&quot;&quot;|]<br/>  position = { line = 0<br/>           │

│ column = 8 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JString &quot;ab	                                  │

│ de&quot;</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │

│ tr><td>Item</td><td><div class="dni-plaintext"><pre>ab	                        │

│ de</pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>It │

│ em2</td><td><details class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>{ lines = [                                      │

│ |&quot;&quot;ab\tde&quot;&quot;|]<br/>  position = { line = 0<br/>           │

│ column = 8 }                                                                 │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ &quot;ab\tde&quot;           │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 8                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>8</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 74.09ms - stdout ]─────────────────────────────────────────────────────────╮

│ JString "ab	de"                                                                │

│ JString                                                                      │

│       Item: ab	de                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jString "\"ab\\u263Ade\""

|> parserEqual (Success (JString "ab☺de"))



╭─[ 41.77ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JString &quot;ab☺de&quot;, { lines = [  │

│ |&quot;&quot;ab\u263Ade&quot;&quot;|]<br/>                                   │

│ position = { line = 0<br/>                                         column =  │

│ 12 }                                                                         │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JString &quot;ab☺de&quot;, { lines = [          │

│ |&quot;&quot;ab\u263Ade&quot;&quot;|]<br/>  position = { line = 0<br/>       │

│ column = 12 }                                                                │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JString                                          │

│ &quot;ab☺de&quot;</code></span></summary><div><table><thead><tr></tr></thead │

│ ><tbody><tr><td>Item</td><td><div                                            │

│ class="dni-plaintext"><pre>ab☺de</pre></div></td></tr></tbody></table></div> │

│ </details></td></tr><tr><td>Item2</td><td><details                           │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;&quot;ab\u263Ade&quot;&quot;|]<br/>  position = { line = 0<br/>       │

│ column = 12 }                                                                │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ &quot;ab\u263Ade&quot;       │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 12                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>12</pre></div></td></tr></tbody></table></div></d │

│ etails></td></tr></tbody></table></div></details></td></tr></tbody></table>< │

│ /div></details></td></tr></tbody></table></div></details><style>             │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 71.40ms - stdout ]─────────────────────────────────────────────────────────╮

│ JString "ab☺de"                                                              │

│ JString                                                                      │

│       Item: ab☺de                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jNumber                                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jNumber =

    let optSign = opt (pchar '-')



    let zero = pstring "0"



    let digitOneNine =

        satisfy (fun ch -> Char.IsDigit ch && ch <> '0') "1-9"



    let digit =

        satisfy Char.IsDigit "digit"



    let point = pchar '.'



    let e = pchar 'e' <|> pchar 'E'



    let optPlusMinus = opt (pchar '-' <|> pchar '+')



    let nonZeroInt =

        digitOneNine .>>. manyChars digit

        |>> fun (first, rest) -> string first + rest



    let intPart = zero <|> nonZeroInt



    let fractionPart = point >>. manyChars1 digit



    let exponentPart = e >>. optPlusMinus .>>. manyChars1 digit



    let inline (|>?) opt f =

        match opt with

        | None -> ""

        | Some x -> f x



    let inline convertToJNumber (((optSign, intPart), fractionPart), expPart) =

        let signStr =

            optSign

            |>? string



        let fractionPartStr =

            fractionPart

            |>? (fun digits -> "." + digits)



        let expPartStr =

            expPart

            |>? fun (optSign, digits) ->

                let sign = optSign |>? string

                "e" + sign + digits



        (signStr + intPart + fractionPartStr + expPartStr)

        |> float

        |> JNumber



    optSign .>>. intPart .>>. opt fractionPart .>>. opt exponentPart

    |>> convertToJNumber

    <?> "number"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



jValueRef <|

    choice

        [[

            jNull

            jBool

            jString

            jNumber

        ]]



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber "123"

|> parserEqual (Success (JNumber 123.0))



╭─[ 62.22ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [              │

│ |&quot;123&quot;|]<br/>                          position = { line = 0<br/>  │

│ column = 3 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 123.0, { lines = [                      │

│ |&quot;123&quot;|]<br/>  position = { line = 0<br/>               column = 3 │

│ }                                                                            │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │

│ <td>Item</td><td><div                                                        │

│ class="dni-plaintext"><pre>123</pre></div></td></tr></tbody></table></div></ │

│ details></td></tr><tr><td>Item2</td><td><details                             │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;123&quot;|]<br/>  position = { line = 0<br/>               column = 3 │

│ }                                                                            │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 123                          │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 3                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>3</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 88.67ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 123.0                                                                │

│ JNumber                                                                      │

│       Item: 123                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber "-123"

|> parserEqual (Success (JNumber -123.0))



╭─[ 50.25ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [             │

│ |&quot;-123&quot;|]<br/>                           position = { line =       │

│ 0<br/>                                        column = 4 }                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [                     │

│ |&quot;-123&quot;|]<br/>  position = { line = 0<br/>               column =  │

│ 4 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │

│ ><td>Item</td><td><div                                                       │

│ class="dni-plaintext"><pre>-123</pre></div></td></tr></tbody></table></div>< │

│ /details></td></tr><tr><td>Item2</td><td><details                            │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;-123&quot;|]<br/>  position = { line = 0<br/>               column =  │

│ 4 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ -123                         │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 4                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 79.77ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber -123.0                                                               │

│ JNumber                                                                      │

│       Item: -123                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber "123.4"

|> parserEqual (Success (JNumber 123.4))



╭─[ 55.75ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [              │

│ |&quot;123.4&quot;|]<br/>                          position = { line =       │

│ 0<br/>                                       column = 5 }                    │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 123.4, { lines = [                      │

│ |&quot;123.4&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 5 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │

│ <td>Item</td><td><div                                                        │

│ class="dni-plaintext"><pre>123.4</pre></div></td></tr></tbody></table></div> │

│ </details></td></tr><tr><td>Item2</td><td><details                           │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;123.4&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 5 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4                        │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 5                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>5</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 83.29ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 123.4                                                                │

│ JNumber                                                                      │

│       Item: 123.4                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber "-123."

|> parserEqual (Success (JNumber -123.0))



╭─[ 42.72ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [             │

│ |&quot;-123.&quot;|]<br/>                           position = { line =      │

│ 0<br/>                                        column = 4 }                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [                     │

│ |&quot;-123.&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 4 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │

│ ><td>Item</td><td><div                                                       │

│ class="dni-plaintext"><pre>-123</pre></div></td></tr></tbody></table></div>< │

│ /details></td></tr><tr><td>Item2</td><td><details                            │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;-123.&quot;|]<br/>  position = { line = 0<br/>               column = │

│ 4 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ -123.                        │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 4                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 72.09ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber -123.0                                                               │

│ JNumber                                                                      │

│       Item: -123                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber "00.1"

|> parserEqual (Success (JNumber 0.0))



╭─[ 38.52ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 0.0, { lines = [                │

│ |&quot;00.1&quot;|]<br/>                        position = { line = 0<br/>   │

│ column = 1 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 0.0, { lines = [                        │

│ |&quot;00.1&quot;|]<br/>  position = { line = 0<br/>               column =  │

│ 1 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 0.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item</td><td><div                                                          │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr><tr><td>Item2</td><td><details                               │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;00.1&quot;|]<br/>  position = { line = 0<br/>               column =  │

│ 1 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 00.1                         │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 0<br/>  column = 1                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 75.75ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 0.0                                                                  │

│ JNumber                                                                      │

│       Item: 0                                                                │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let jNumber_ = jNumber .>> spaces1



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "123"

|> parserEqual (Success (JNumber 123.0))



╭─[ 45.34ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [              │

│ |&quot;123&quot;|]<br/>                          position = { line = 1<br/>  │

│ column = 0 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 123.0, { lines = [                      │

│ |&quot;123&quot;|]<br/>  position = { line = 1<br/>               column = 0 │

│ }                                                                            │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │

│ <td>Item</td><td><div                                                        │

│ class="dni-plaintext"><pre>123</pre></div></td></tr></tbody></table></div></ │

│ details></td></tr><tr><td>Item2</td><td><details                             │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;123&quot;|]<br/>  position = { line = 1<br/>               column = 0 │

│ }                                                                            │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 123                          │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 74.45ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 123.0                                                                │

│ JNumber                                                                      │

│       Item: 123                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "-123"

|> parserEqual (Success (JNumber -123.0))



╭─[ 39.93ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [             │

│ |&quot;-123&quot;|]<br/>                           position = { line =       │

│ 1<br/>                                        column = 0 }                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [                     │

│ |&quot;-123&quot;|]<br/>  position = { line = 1<br/>               column =  │

│ 0 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │

│ ><td>Item</td><td><div                                                       │

│ class="dni-plaintext"><pre>-123</pre></div></td></tr></tbody></table></div>< │

│ /details></td></tr><tr><td>Item2</td><td><details                            │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;-123&quot;|]<br/>  position = { line = 1<br/>               column =  │

│ 0 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ -123                         │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 68.10ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber -123.0                                                               │

│ JNumber                                                                      │

│       Item: -123                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "-123."

|> parserEqual (

    Failure (

        "number andThen many1 whitespace",

        "Unexpected '.'",

        { currentLine = "-123."; line = 0; column = 4 }

    )

)



╭─[ 26.56ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure<br/>  (&quot;number andThen many1        │

│ whitespace&quot;, &quot;Unexpected &#39;.&#39;&quot;, { currentLine =        │

│ &quot;-123.&quot;<br/>                                                       │

│ line = 0<br/>                                                                │

│ column = 4                                                                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div class="dni-plaintext"><pre>number andThen many1          │

│ whitespace</pre></div></td></tr><tr><td>Item2</td><td><div                   │

│ class="dni-plaintext"><pre>Unexpected                                        │

│ &#39;.&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;-123.&quot;<br/>  line = 0<br/>  column = 4              │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div                                                     │

│ class="dni-plaintext"><pre>-123.</pre></div></td></tr><tr><td>line</td><td>< │

│ div                                                                          │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 47.99ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:4 Error parsing number andThen many1 whitespace                   │

│ -123.                                                                        │

│     ^Unexpected '.'                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "123.4"

|> parserEqual (Success (JNumber 123.4))



╭─[ 51.35ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [              │

│ |&quot;123.4&quot;|]<br/>                          position = { line =       │

│ 1<br/>                                       column = 0 }                    │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 123.4, { lines = [                      │

│ |&quot;123.4&quot;|]<br/>  position = { line = 1<br/>               column = │

│ 0 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │

│ <td>Item</td><td><div                                                        │

│ class="dni-plaintext"><pre>123.4</pre></div></td></tr></tbody></table></div> │

│ </details></td></tr><tr><td>Item2</td><td><details                           │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;123.4&quot;|]<br/>  position = { line = 1<br/>               column = │

│ 0 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4                        │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 82.96ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 123.4                                                                │

│ JNumber                                                                      │

│       Item: 123.4                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "00.4"

|> parserEqual (

    Failure (

        "number andThen many1 whitespace",

        "Unexpected '0'",

        { currentLine = "00.4"; line = 0; column = 1 }

    )

)



╭─[ 30.70ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure<br/>  (&quot;number andThen many1        │

│ whitespace&quot;, &quot;Unexpected &#39;0&#39;&quot;, { currentLine =        │

│ &quot;00.4&quot;<br/>                                                        │

│ line = 0<br/>                                                                │

│ column = 1                                                                   │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div class="dni-plaintext"><pre>number andThen many1          │

│ whitespace</pre></div></td></tr><tr><td>Item2</td><td><div                   │

│ class="dni-plaintext"><pre>Unexpected                                        │

│ &#39;0&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;00.4&quot;<br/>  line = 0<br/>  column = 1               │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div                                                     │

│ class="dni-plaintext"><pre>00.4</pre></div></td></tr><tr><td>line</td><td><d │

│ iv                                                                           │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 52.34ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:1 Error parsing number andThen many1 whitespace                   │

│ 00.4                                                                         │

│  ^Unexpected '0'                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "123e4"

|> parserEqual (Success (JNumber 1230000.0))



╭─[ 49.95ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 1230000.0, { lines = [          │

│ |&quot;123e4&quot;|]<br/>                              position = { line =   │

│ 1<br/>                                           column = 0 }                │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 1230000.0, { lines = [                  │

│ |&quot;123e4&quot;|]<br/>  position = { line = 1<br/>               column = │

│ 0 }                                                                          │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 1230000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody> │

│ <tr><td>Item</td><td><div                                                    │

│ class="dni-plaintext"><pre>1230000</pre></div></td></tr></tbody></table></di │

│ v></details></td></tr><tr><td>Item2</td><td><details                         │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;123e4&quot;|]<br/>  position = { line = 1<br/>               column = │

│ 0 }                                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 123e4                        │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 82.99ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 1230000.0                                                            │

│ JNumber                                                                      │

│       Item: 1230000                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "123.4e5"

|> parserEqual (Success (JNumber 12340000.0))



╭─[ 39.49ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 12340000.0, { lines = [         │

│ |&quot;123.4e5&quot;|]<br/>                               position = { line  │

│ = 1<br/>                                            column = 0 }             │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 12340000.0, { lines = [                 │

│ |&quot;123.4e5&quot;|]<br/>  position = { line = 1<br/>               column │

│ = 0 }                                                                        │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 12340000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody │

│ ><tr><td>Item</td><td><div                                                   │

│ class="dni-plaintext"><pre>12340000</pre></div></td></tr></tbody></table></d │

│ iv></details></td></tr><tr><td>Item2</td><td><details                        │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;123.4e5&quot;|]<br/>  position = { line = 1<br/>               column │

│ = 0 }                                                                        │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4e5                      │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 73.14ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 12340000.0                                                           │

│ JNumber                                                                      │

│       Item: 12340000                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jNumber_ "123.4e-5"

|> parserEqual (Success (JNumber 0.001234))



╭─[ 43.05ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JNumber 0.001234, { lines = [           │

│ |&quot;123.4e-5&quot;|]<br/>                             position = { line = │

│ 1<br/>                                          column = 0 }                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JNumber 0.001234, { lines = [                   │

│ |&quot;123.4e-5&quot;|]<br/>  position = { line = 1<br/>                     │

│ column = 0 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 0.001234</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │

│ tr><td>Item</td><td><div                                                     │

│ class="dni-plaintext"><pre>0.001234</pre></div></td></tr></tbody></table></d │

│ iv></details></td></tr><tr><td>Item2</td><td><details                        │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [  │

│ |&quot;123.4e-5&quot;|]<br/>  position = { line = 1<br/>                     │

│ column = 0 }                                                                 │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4e-5                     │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 66.85ms - stdout ]─────────────────────────────────────────────────────────╮

│ JNumber 0.001234                                                             │

│ JNumber                                                                      │

│       Item: 0.001234                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jArray                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jArray =

    let left = pchar '[[' .>> spaces

    let right = pchar ']]' .>> spaces

    let comma = pchar ',' .>> spaces

    let value = jValue .>> spaces



    let values = sepBy value comma



    between left values right

    |>> JArray

    <?> "array"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



jValueRef <|

    choice

        [[

            jNull

            jBool

            jString

            jNumber

            jArray

        ]]



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jArray "[[ 1, 2 ]]"

|> parserEqual (Success (JArray [[ JNumber 1.0; JNumber 2.0 ]]))



╭─[ 101.42ms - return value ]──────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success (JArray [JNumber 1.0; JNumber 2.0], {    │

│ lines = [|&quot;[ 1, 2 ]&quot;|]<br/>                                        │

│ position = { line = 1<br/>                                                   │

│ column = 0 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JArray [JNumber 1.0; JNumber 2.0], { lines = [  │

│ |&quot;[ 1, 2 ]&quot;|]<br/>  position = { line = 1<br/>                     │

│ column = 0 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JArray [JNumber 1.0; JNumber                     │

│ 2.0]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │

│ td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></ │

│ thead><tbody><tr><td>0</td><td><details class="dni-treeview"><summary><span  │

│ class="dni-code-hint"><code>JNumber                                          │

│ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item</td><td><div                                                          │

│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr><tr><td>1</td><td><details                                   │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JNumber      │

│ 2.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item</td><td><div                                                          │

│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></td></tr></tbody></table></div></details></ │

│ td></tr><tr><td>Item2</td><td><details class="dni-treeview"><summary><span   │

│ class="dni-code-hint"><code>{ lines = [|&quot;[ 1, 2 ]&quot;|]<br/>          │

│ position = { line = 1<br/>               column = 0 }                        │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ [ 1, 2 ]                     │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 133.68ms - stdout ]────────────────────────────────────────────────────────╮

│ JArray [JNumber 1.0; JNumber 2.0]                                            │

│ JArray                                                                       │

│       Item: FSharpList<JValue>                                               │

│         - Item: 1                                                            │

│         - Item: 2                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jArray "[[ 1, 2, ]]"

|> parserEqual (

    Failure (

        "array",

        "Unexpected ','",

        { currentLine = "[[ 1, 2, ]]"; line = 0; column = 6 }

    )

)



╭─[ 29.70ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure (&quot;array&quot;, &quot;Unexpected     │

│ &#39;,&#39;&quot;, { currentLine = &quot;[ 1, 2, ]&quot;<br/>                │

│ line = 0<br/>                                      column = 6                │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>array</pre></div></td></tr><tr><td>Item2</td><td> │

│ <div class="dni-plaintext"><pre>Unexpected                                   │

│ &#39;,&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;[ 1, 2, ]&quot;<br/>  line = 0<br/>  column = 6          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div class="dni-plaintext"><pre>[ 1, 2,                  │

│ ]</pre></div></td></tr><tr><td>line</td><td><div                             │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>6</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 51.53ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:6 Error parsing array                                             │

│ [ 1, 2, ]                                                                    │

│       ^Unexpected ','                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jObject                                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let jObject =

    let left = spaces >>. pchar '{' .>> spaces

    let right = pchar '}' .>> spaces

    let colon = pchar ':' .>> spaces

    let comma = pchar ',' .>> spaces

    let key = quotedString .>> spaces

    let value = jValue .>> spaces



    let keyValue = (key .>> colon) .>>. value

    let keyValues = sepBy keyValue comma



    between left keyValues right

    |>> Map.ofList

    |>> JObject

    <?> "object"



── fsharp ──────────────────────────────────────────────────────────────────────

jValueRef <|

    choice

        [[

            jNull

            jBool

            jString

            jNumber

            jArray

            jObject

        ]]



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jObject """{ "a":1, "b"  :  2 }"""

|> parserEqual (

    Success (

        JObject (

            Map.ofList [[

                "a", JNumber 1.0

                "b", JNumber 2.0

            ]]

        )

    )

)



╭─[ 117.18ms - return value ]──────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success<br/>  (JObject (map [(&quot;a&quot;,     │

│ JNumber 1.0); (&quot;b&quot;, JNumber 2.0)]),<br/>   { lines = [|&quot;{     │

│ &quot;a&quot;:1, &quot;b&quot;  :  2 }&quot;|]<br/>     position = { line =  │

│ 1<br/>                  column = 0 }                                         │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><details class="dni-treeview"><summary><span                   │

│ class="dni-code-hint"><code>(JObject (map [(&quot;a&quot;, JNumber 1.0);     │

│ (&quot;b&quot;, JNumber 2.0)]), { lines = [|&quot;{ &quot;a&quot;:1,         │

│ &quot;b&quot;  :  2 }&quot;|]<br/>  position = { line = 1<br/>               │

│ column = 0 }                                                                 │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JObject (map [(&quot;a&quot;, JNumber 1.0);      │

│ (&quot;b&quot;, JNumber                                                      │

│ 2.0)])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │

│ ><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>value</th></tr></ │

│ thead><tbody><tr><td><div                                                    │

│ class="dni-plaintext"><pre>a</pre></div></td><td><details                    │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JNumber      │

│ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item</td><td><div                                                          │

│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr><tr><td><div                                                 │

│ class="dni-plaintext"><pre>b</pre></div></td><td><details                    │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JNumber      │

│ 2.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item</td><td><div                                                          │

│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></td></tr></tbody></table></div></details></ │

│ td></tr><tr><td>Item2</td><td><details class="dni-treeview"><summary><span   │

│ class="dni-code-hint"><code>{ lines = [|&quot;{ &quot;a&quot;:1,             │

│ &quot;b&quot;  :  2 }&quot;|]<br/>  position = { line = 1<br/>               │

│ column = 0 }                                                                 │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ lines</td><td><div class="dni-plaintext"><pre>[ { &quot;a&quot;:1,           │

│ &quot;b&quot;  :  2 }                                                        │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 1<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 150.39ms - stdout ]────────────────────────────────────────────────────────╮

│ JObject (map [("a", JNumber 1.0); ("b", JNumber 2.0)])                       │

│ JObject                                                                      │

│       Item: FSharpMap<String,JValue>                                         │

│         - Key: a                                                             │

│           Value: JNumber                                                     │

│             Item: 1                                                          │

│         - Key: b                                                             │

│           Value: JNumber                                                     │

│             Item: 2                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run jObject """{ "a":1, "b"  :  2, }"""

|> parserEqual (

    Failure (

        "object",

        "Unexpected ','",

        { currentLine = """{ "a":1, "b"  :  2, }"""; line = 0; column = 18 }

    )

)



╭─[ 35.74ms - return value ]───────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Failure (&quot;object&quot;, &quot;Unexpected    │

│ &#39;,&#39;&quot;, { currentLine = &quot;{ &quot;a&quot;:1, &quot;b&quot;  : │

│ 2, }&quot;<br/>                                       line = 0<br/>          │

│ column = 18                                                                  │

│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>object</pre></div></td></tr><tr><td>Item2</td><td │

│ ><div class="dni-plaintext"><pre>Unexpected                                  │

│ &#39;,&#39;</pre></div></td></tr><tr><td>Item3</td><td><details              │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{            │

│ currentLine = &quot;{ &quot;a&quot;:1, &quot;b&quot;  :  2, }&quot;<br/>     │

│ line = 0<br/>  column = 18                                                   │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ currentLine</td><td><div class="dni-plaintext"><pre>{ &quot;a&quot;:1,       │

│ &quot;b&quot;  :  2, }</pre></div></td></tr><tr><td>line</td><td><div        │

│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>18</pre></div></td></tr></tbody></table></div></d │

│ etails></td></tr></tbody></table></div></details><style>                     │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 61.47ms - stdout ]─────────────────────────────────────────────────────────╮

│ Line:0 Col:18 Error parsing object                                           │

│ { "a":1, "b"  :  2, }                                                        │

│                   ^Unexpected ','                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### jValue                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let example1 = """{

    "name" : "Scott",

    "isMale" : true,

    "bday" : {"year":2001, "month":12, "day":25 },

    "favouriteColors" : [["blue", "green"]],

    "emptyArray" : [[]],

    "emptyObject" : {}

}"""

run jValue example1

|> parserEqual (

    Success (

        JObject (

            Map.ofList [[

                "name", JString "Scott"

                "isMale", JBool true

                "bday", JObject (

                    Map.ofList [[

                        "year", JNumber 2001.0

                        "month", JNumber 12.0

                        "day", JNumber 25.0

                    ]]

                )

                "favouriteColors", JArray [[ JString "blue"; JString "green" ]]

                "emptyArray", JArray [[]]

                "emptyObject", JObject Map.empty

            ]]

        )

    )

)



╭─[ 181.07ms - return value ]──────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success<br/>  (JObject<br/>     (map<br/>        │

│ [(&quot;bday&quot;,<br/>          JObject<br/>            (map<br/>          │

│ [(&quot;day&quot;, JNumber 25.0); (&quot;month&quot;, JNumber 12.0);<br/>    │

│ (&quot;year&quot;, JNumber 2001.0)])); (&quot;emptyArray&quot;, JArray [     │

│ ]);<br/>         (&quot;emptyObject&quot;, JObject (map []));<br/>           │

│ (&quot;favouriteColors&quot;,                                                │

│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>(JObject<br/>  (map<br/>     [                   │

│ (&quot;bday&quot;,<br/>       JObject<br/>         (map<br/>            [    │

│ (&quot;day&quot;, JNumber 25.0); (&quot;month&quot;, JNumber 12.0);<br/>     │

│ (&quot;year&quot;, JNumber 2001.0)])); (&quot;emptyArray&quot;, JArray [     │

│ ]);<br/>      (&quot;emptyObject&quot;, JObject (map []));<br/>              │

│ (&quot;favouriteColors&quot;, JArray [JString &quot;blue&quot;; JString      │

│ &quot;gr...</code></span></summary><div><table><thead><tr></tr></thead><tbod │

│ y><tr><td>Item1</td><td><details class="dni-treeview"><summary><span         │

│ class="dni-code-hint"><code>JObject<br/>  (map<br/>     [                    │

│ (&quot;bday&quot;,<br/>       JObject<br/>         (map<br/>            [    │

│ (&quot;day&quot;, JNumber 25.0); (&quot;month&quot;, JNumber 12.0);<br/>     │

│ (&quot;year&quot;, JNumber 2001.0)])); (&quot;emptyArray&quot;, JArray [     │

│ ]);<br/>      (&quot;emptyObject&quot;, JObject (map []));<br/>              │

│ (&quot;favouriteColors&quot;, JArray [JString &quot;blue&quot;; JString      │

│ &quot;gre...</code></span></summary><div><table><thead><tr></tr></thead><tbo │

│ dy><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i> │

│ </th><th>value</th></tr></thead><tbody><tr><td><div                          │

│ class="dni-plaintext"><pre>bday</pre></div></td><td>FSI_0012+JValue+JObject< │

│ /td><td><details class="dni-treeview"><summary><span                         │

│ class="dni-code-hint"><code>JObject<br/>  (map<br/>     [(&quot;day&quot;,   │

│ JNumber 25.0); (&quot;month&quot;, JNumber 12.0); (&quot;year&quot;, JNumber │

│ 2001.0)])</code></span></summary><div><table><thead><tr></tr></thead><tbody> │

│ <tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>value</th></tr │

│ ></thead><tbody><tr><td><div                                                 │

│ class="dni-plaintext"><pre>day</pre></div></td><td>JNumber                   │

│ 25.0</td></tr><tr><td><div                                                   │

│ class="dni-plaintext"><pre>month</pre></div></td><td>JNumber                 │

│ 12.0</td></tr><tr><td><div                                                   │

│ class="dni-plaintext"><pre>year</pre></div></td><td>JNumber                  │

│ 2001.0</td></tr></tbody></table></td></tr></tbody></table></div></details></ │

│ td></tr><tr><td><div                                                         │

│ class="dni-plaintext"><pre>emptyArray</pre></div></td><td>FSI_0012+JValue+JA │

│ rray</td><td><details class="dni-treeview"><summary><span                    │

│ class="dni-code-hint"><code>JArray [                                         │

│ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td></ │

│ tr><tr><td><div                                                              │

│ class="dni-plaintext"><pre>emptyObject</pre></div></td><td>FSI_0012+JValue+J │

│ Object</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JObject (map [                                   │

│ ])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td>< │

│ /tr><tr><td><div                                                             │

│ class="dni-plaintext"><pre>favouriteColors</pre></div></td><td>FSI_0012+JVal │

│ ue+JArray</td><td><details class="dni-treeview"><summary><span               │

│ class="dni-code-hint"><code>JArray [JString &quot;blue&quot;; JString        │

│ &quot;green&quot;]</code></span></summary><div><table><thead><tr></tr></thea │

│ d><tbody><tr><td>Item</td><td><table><thead><tr><th><i>index</i></th><th>val │

│ ue</th></tr></thead><tbody><tr><td>0</td><td>JString                         │

│ "blue"</td></tr><tr><td>1</td><td>JString                                    │

│ "green"</td></tr></tbody></table></td></tr></tbody></table></div></details>< │

│ /td></tr><tr><td><div                                                        │

│ class="dni-plaintext"><pre>isMale</pre></div></td><td>FSI_0012+JValue+JBool< │

│ /td><td><details class="dni-treeview"><summary><span                         │

│ class="dni-code-hint"><code>JBool                                            │

│ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │

│ td>Item</td><td><div                                                         │

│ class="dni-plaintext"><pre>True</pre></div></td></tr></tbody></table></div>< │

│ /details></td></tr><tr><td><div                                              │

│ class="dni-plaintext"><pre>name</pre></div></td><td>FSI_0012+JValue+JString< │

│ /td><td><details class="dni-treeview"><summary><span                         │

│ class="dni-code-hint"><code>JString                                          │

│ &quot;Scott&quot;</code></span></summary><div><table><thead><tr></tr></thead │

│ ><tbody><tr><td>Item</td><td><div                                            │

│ class="dni-plaintext"><pre>Scott</pre></div></td></tr></tbody></table></div> │

│ </details></td></tr></tbody></table></td></tr></tbody></table></div></detail │

│ s></td></tr><tr><td>Item2</td><td><details                                   │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines      │

│ =<br/>   [|&quot;{&quot;; &quot;    &quot;name&quot; :                       │

│ &quot;Scott&quot;,&quot;; &quot;    &quot;isMale&quot; : true,&quot;;<br/>   │

│ &quot;    &quot;bday&quot; : {&quot;year&quot;:2001, &quot;month&quot;:12,   │

│ &quot;day&quot;:25 },&quot;;<br/>     &quot;    &quot;favouriteColors&quot;  │

│ : [&quot;blue&quot;, &quot;green&quot;],&quot;; &quot;                       │

│ &quot;emptyArray&quot; : [],&quot;;<br/>     &quot;                          │

│ &quot;emptyObject&quot; : {}&quot;; &quot;}&quot;|]<br/>  position = { line  │

│ = 8<br/>               column = 0 }                                          │

│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>lines</td><td><div class="dni-plaintext"><pre>[ {,     &quot;name&quot; :  │

│ &quot;Scott&quot;,,     &quot;isMale&quot; : true,,     &quot;bday&quot; :   │

│ {&quot;year&quot;:2001, &quot;month&quot;:12, &quot;day&quot;:25 },,         │

│ &quot;favouriteColors&quot; : [&quot;blue&quot;, &quot;green&quot;],,        │

│ &quot;emptyArray&quot; : [],,     &quot;emptyObject&quot; : {}, }            │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 8<br/>  column = 0                                                           │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>8</pre></div></td></tr><tr><td>column</td><td><di │

│ v                                                                            │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 237.85ms - stdout ]────────────────────────────────────────────────────────╮

│ JObject                                                                      │

│   (map                                                                       │

│      [("bday",                                                               │

│        JObject                                                               │

│          (map                                                                │

│             [("day", JNumber 25.0); ("month", JNumber 12.0);                 │

│              ("year", JNumber 2001.0)])); ("emptyArray", JArray []);         │

│       ("emptyObject", JObject (map []));                                     │

│       ("favouriteColors", JArray [JString "blue"; JString "green"]);         │

│       ("isMale", JBool true); ("name", JString "Scott")])                    │

│ JObject                                                                      │

│       Item: FSharpMap<String,JValue>                                         │

│         - Key: bday                                                          │

│           Value: JObject                                                     │

│             Item: FSharpMap<String,JValue>                                   │

│               - Key: day                                                     │

│                 Value: JNumber 25.0                                          │

│               - Key: month                                                   │

│                 Value: JNumber 12.0                                          │

│               - Key: year                                                    │

│                 Value: JNumber 2001.0                                        │

│         - Key: emptyArray                                                    │

│           Value: JArray                                                      │

│             Item: FSharpList<JValue>                                         │

│                                                                              │

│         - Key: emptyObject                                                   │

│           Value: JObject                                                     │

│             Item: FSharpMap<String,JValue>                                   │

│                                                                              │

│         - Key: favouriteColors                                               │

│           Value: JArray                                                      │

│             Item: FSharpList<JValue>                                         │

│               - Item: blue                                                   │

│               - Item: green                                                  │

│         - Key: isMale                                                        │

│           Value: JBool                                                       │

│             Item: True                                                       │

│         - Key: name                                                          │

│           Value: JString                                                     │

│             Item: Scott                                                      │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let example2 = """{"widget": {

    "debug": "on",

    "window": {

        "title": "Sample Konfabulator Widget",

        "name": "main_window",

        "width": 500,

        "height": 500

    },

    "image": {

        "src": "Images/Sun.png",

        "name": "sun1",

        "hOffset": 250,

        "vOffset": 250,

        "alignment": "center"

    },

    "text": {

        "data": "Click Here",

        "size": 36,

        "style": "bold",

        "name": "text1",

        "hOffset": 250,

        "vOffset": 100,

        "alignment": "center",

        "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"

    }

}}"""



run jValue example2

|> parserEqual (

    Success (

        JObject (

            Map.ofList [[

                "widget", JObject (

                    Map.ofList [[

                        "debug", JString "on"

                        "window", JObject (

                            Map.ofList [[

                                "title", JString "Sample Konfabulator Widget"

                                "name", JString "main_window"

                                "width", JNumber 500.0

                                "height", JNumber 500.0

                            ]]

                        )

                        "image", JObject (

                            Map.ofList [[

                                "src", JString "Images/Sun.png"

                                "name", JString "sun1"

                                "hOffset", JNumber 250.0

                                "vOffset", JNumber 250.0

                                "alignment", JString "center"

                            ]]

                        )

                        "text", JObject (

                            Map.ofList [[

                                "data", JString "Click Here"

                                "size", JNumber 36.0

                                "style", JString "bold"

                                "name", JString "text1"

                                "hOffset", JNumber 250.0

                                "vOffset", JNumber 100.0

                                "alignment", JString "center"

                                "onMouseUp", JString "sun1.opacity = 

(sun1.opacity / 100) * 90;"

                            ]]

                        )

                    ]]

                )

            ]]

        )

    )

)



╭─[ 396.99ms - return value ]──────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success<br/>  (JObject<br/>     (map<br/>        │

│ [(&quot;widget&quot;,<br/>          JObject<br/>            (map<br/>        │

│ [(&quot;debug&quot;, JString &quot;on&quot;);<br/>                           │

│ (&quot;image&quot;,<br/>                 JObject<br/>                        │

│ (map<br/>                      [(&quot;alignment&quot;, JString              │

│ &quot;center&quot;);<br/>                                                    │

│ (&quot;hOffset&quot;...</code></span></summary><div><table><thead><tr></tr>< │

│ /thead><tbody><tr><td>Item</td><td><details                                  │

│ class="dni-treeview"><summary><span                                          │

│ class="dni-code-hint"><code>(JObject<br/>  (map<br/>     [                   │

│ (&quot;widget&quot;,<br/>       JObject<br/>         (map<br/>            [  │

│ (&quot;debug&quot;, JString &quot;on&quot;);<br/>                            │

│ (&quot;image&quot;,<br/>              JObject<br/>                (map<br/>  │

│ [(&quot;alignment&quot;, JString &quot;center&quot;); (&quot;hOffset&quot;,  │

│ JNumber 250.0);<br/>                    (&quot;name&quot;, JString           │

│ &quot;sun1&quot;...</code></span></summary><div><table><thead><tr></tr></the │

│ ad><tbody><tr><td>Item1</td><td><details class="dni-treeview"><summary><span │

│ class="dni-code-hint"><code>JObject<br/>  (map<br/>     [                    │

│ (&quot;widget&quot;,<br/>       JObject<br/>         (map<br/>            [  │

│ (&quot;debug&quot;, JString &quot;on&quot;);<br/>                            │

│ (&quot;image&quot;,<br/>              JObject<br/>                (map<br/>  │

│ [(&quot;alignment&quot;, JString &quot;center&quot;); (&quot;hOffset&quot;,  │

│ JNumber 250.0);<br/>                    (&quot;name&quot;, JString           │

│ &quot;sun1&quot;)...</code></span></summary><div><table><thead><tr></tr></th │

│ ead><tbody><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>val │

│ ue</th></tr></thead><tbody><tr><td><div                                      │

│ class="dni-plaintext"><pre>widget</pre></div></td><td><details               │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JObject<br/> │

│ (map<br/>     [(&quot;debug&quot;, JString &quot;on&quot;);<br/>             │

│ (&quot;image&quot;,<br/>       JObject<br/>         (map<br/>            [   │

│ (&quot;alignment&quot;, JString &quot;center&quot;); (&quot;hOffset&quot;,   │

│ JNumber 250.0);<br/>             (&quot;name&quot;, JString                  │

│ &quot;sun1&quot;); (&quot;src&quot;, JString                                 │

│ &quot;Images/Sun.png&quot;);<br/>             (&quot;vOffset&quot;, JNumber  │

│ 250.0)]));<br/>                                                              │

│ (&quot;...</code></span></summary><div><table><thead><tr></tr></thead><tbody │

│ ><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i></ │

│ th><th>value</th></tr></thead><tbody><tr><td><div                            │

│ class="dni-plaintext"><pre>debug</pre></div></td><td>FSI_0012+JValue+JString │

│ </td><td>JString "on"</td></tr><tr><td><div                                  │

│ class="dni-plaintext"><pre>image</pre></div></td><td>FSI_0012+JValue+JObject │

│ </td><td>JObject                                                             │

│   (map                                                                       │

│      [("alignment", JString "center"); ("hOffset", JNumber 250.0);           │

│       ("name", JString "sun1"); ("src", JString "Images/Sun.png");           │

│       ("vOffset", JNumber 250.0)])</td></tr><tr><td><div                     │

│ class="dni-plaintext"><pre>text</pre></div></td><td>FSI_0012+JValue+JObject< │

│ /td><td>JObject                                                              │

│   (map                                                                       │

│      [("alignment", JString "center"); ("data", JString "Click Here");       │

│       ("hOffset", JNumber 250.0); ("name", JString "text1");                 │

│       ("onMouseUp", JString "sun1.opacity = (sun1.opacity / 100) * 90;");    │

│       ("size", JNumber 36.0); ("style", JString "bold");                     │

│       ("vOffset", JNumber 100.0)])</td></tr><tr><td><div                     │

│ class="dni-plaintext"><pre>window</pre></div></td><td>FSI_0012+JValue+JObjec │

│ t</td><td>JObject                                                            │

│   (map                                                                       │

│      [("height", JNumber 500.0); ("name", JString "main_window");            │

│       ("title", JString "Sample Konfabulator Widget"); ("width", JNumber     │

│ 500.0)])</td></tr></tbody></table></td></tr></tbody></table></div></details> │

│ </td></tr></tbody></table></td></tr></tbody></table></div></details></td></t │

│ r><tr><td>Item2</td><td><details class="dni-treeview"><summary><span         │

│ class="dni-code-hint"><code>{ lines =<br/>   [|&quot;{&quot;widget&quot;:    │

│ {&quot;; &quot;    &quot;debug&quot;: &quot;on&quot;,&quot;; &quot;          │

│ &quot;window&quot;: {&quot;;<br/>     &quot;        &quot;title&quot;:       │

│ &quot;Sample Konfabulator Widget&quot;,&quot;;<br/>     &quot;               │

│ &quot;name&quot;: &quot;main_window&quot;,&quot;; &quot;                     │

│ &quot;width&quot;: 500,&quot;;<br/>     &quot;        &quot;height&quot;:    │

│ 500&quot;; &quot;    },&quot;; &quot;    &quot;image&quot;: {&quot;;<br/>    │

│ &quot;        &quot;src&quot;: &quot;Images/Sun.png&quot;,&quot;; &quot;     │

│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>lines</td><td><div class="dni-plaintext"><pre>[ {&quot;widget&quot;: {,    │

│ &quot;debug&quot;: &quot;on&quot;,,     &quot;window&quot;: {,               │

│ &quot;title&quot;: &quot;Sample Konfabulator Widget&quot;,,                  │

│ &quot;name&quot;: &quot;main_window&quot;,,         &quot;width&quot;: 500,, │

│ &quot;height&quot;: 500,     },,     &quot;image&quot;: {,                   │

│ &quot;src&quot;: &quot;Images/Sun.png&quot;,,         &quot;name&quot;:      │

│ &quot;sun1&quot;,,         &quot;hOffset&quot;: 250,,                        │

│ &quot;vOffset&quot;: 250,,         &quot;alignment&quot;:                    │

│ &quot;center&quot;,     },,     &quot;text&quot;: {,                         │

│ &quot;data&quot;: &quot;Click Here&quot;,,         &quot;size&quot;: 36,,    │

│ &quot;style&quot;: &quot;bold&quot;,,         &quot;name&quot;:              │

│ &quot;text1&quot;,,         &quot;hOffset&quot;: 250,,                       │

│ &quot;vOffset&quot;: 100,,         &quot;alignment&quot;:                    │

│ &quot;center&quot;,,         &quot;onMouseUp&quot;: &quot;sun1.opacity =     │

│ (sun1.opacity / 100) * 90;&quot;,     }, }}                                  │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 26<br/>  column = 0                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>26</pre></div></td></tr><tr><td>column</td><td><d │

│ iv                                                                           │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 453.23ms - stdout ]────────────────────────────────────────────────────────╮

│ JObject                                                                      │

│   (map                                                                       │

│      [("widget",                                                             │

│        JObject                                                               │

│          (map                                                                │

│             [("debug", JString "on");                                        │

│              ("image",                                                       │

│               JObject                                                        │

│                 (map                                                         │

│                    [("alignment", JString "center"); ("hOffset", JNumber     │

│ 250.0);                                                                      │

│                     ("name", JString "sun1"); ("src", JString                │

│ "Images/Sun.png");                                                           │

│                     ("vOffset", JNumber 250.0)]));                           │

│              ("text",                                                        │

│               JObject                                                        │

│                 (map                                                         │

│                    [("alignment", JString "center");                         │

│                     ("data", JString "Click Here"); ("hOffset", JNumber      │

│ 250.0);                                                                      │

│                     ("name", JString "text1");                               │

│                     ("onMouseUp",                                            │

│                      JString "sun1.opacity = (sun1.opacity / 100) * 90;");   │

│                     ("size", JNumber 36.0); ("style", JString "bold");       │

│                     ("vOffset", JNumber 100.0)]));                           │

│              ("window",                                                      │

│               JObject                                                        │

│                 (map                                                         │

│                    [("height", JNumber 500.0); ("name", JString              │

│ "main_window");                                                              │

│                     ("title", JString "Sample Konfabulator Widget");         │

│                     ("width", JNumber 500.0)]))]))])                         │

│ JObject                                                                      │

│       Item: FSharpMap<String,JValue>                                         │

│         - Key: widget                                                        │

│           Value: JObject                                                     │

│             Item: FSharpMap<String,JValue>                                   │

│               - Key: debug                                                   │

│                 Value: JString "on"                                          │

│               - Key: image                                                   │

│                 Value: JObject                                               │

│   (map                                                                       │

│      [("alignment", JString "center"); ("hOffset", JNumber 250.0);           │

│       ("name", JString "sun1"); ("src", JString "Images/Sun.png");           │

│       ("vOffset", JNumber 250.0)])                                           │

│               - Key: text                                                    │

│                 Value: JObject                                               │

│   (map                                                                       │

│      [("alignment", JString "center"); ("data", JString "Click Here");       │

│       ("hOffset", JNumber 250.0); ("name", JString "text1");                 │

│       ("onMouseUp", JString "sun1.opacity = (sun1.opacity / 100) * 90;");    │

│       ("size", JNumber 36.0); ("style", JString "bold");                     │

│       ("vOffset", JNumber 100.0)])                                           │

│               - Key: window                                                  │

│                 Value: JObject                                               │

│   (map                                                                       │

│      [("height", JNumber 500.0); ("name", JString "main_window");            │

│       ("title", JString "Sample Konfabulator Widget"); ("width", JNumber     │

│ 500.0)])                                                                     │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let example3 = """{

  "string": "Hello, \"World\"!",

  "escapedString": "This string contains \\/\\\\\\b\\f\\n\\r\\t\\\"\\'",

  "number": 42,

  "scientificNumber": 3.14e-10,

  "boolean": true,

  "nullValue": null,

  "array": [[1, 2, 3, 4, 5]],

  "unicodeString1": "프리마",

  "unicodeString2": "\u0048\u0065\u006C\u006C\u006F, 

\u0022\u0057\u006F\u0072\u006C\u0064\u0022!",

  "specialCharacters": "!@#$%^&*()",

  "emptyArray": [[]],

  "emptyObject": {},

  "nestedArrays": [[[[1, 2, 3]], [[4, 5, 6]]]],

  "object": {

    "nestedString": "Nested Value",

    "nestedNumber": 3.14,

    "nestedBoolean": false,

    "nestedNull": null,

    "nestedArray": [["a", "b", "c"]],

    "nestedObject": {

      "nestedProperty": "Nested Object Value"

    }

  },

  "nestedObjects": [[

    {"name": "Alice", "age": 25},

    {"name": "Bob", "age": 30}

  ]]

}"""

run jValue example3

|> parserEqual (

    Success (

        JObject (

            Map.ofList [[

                "string", JString @"Hello, ""World""!"

                "escapedString", JString @"This string contains 

\/\\\b\f\n\r\t\""\'"

                "number", JNumber 42.0

                "scientificNumber", JNumber 3.14e-10

                "boolean", JBool true

                "nullValue", JNull

                "array", JArray [[

                    JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber 

5.0

                ]]

                "unicodeString1", JString "프리마"

                "unicodeString2", JString @"Hello, ""World""!"

                "specialCharacters", JString "!@#$%^&*()"

                "emptyArray", JArray [[]]

                "emptyObject", JObject Map.empty

                "nestedArrays", JArray [[

                    JArray [[ JNumber 1.0; JNumber 2.0; JNumber 3.0 ]]

                    JArray [[ JNumber 4.0; JNumber 5.0; JNumber 6.0 ]]

                ]]

                "object", JObject (

                    Map.ofList [[

                        "nestedString", JString "Nested Value"

                        "nestedNumber", JNumber 3.14

                        "nestedBoolean", JBool false

                        "nestedNull", JNull

                        "nestedArray", JArray [[JString "a"; JString "b"; 

JString "c"]]

                        "nestedObject", JObject (

                            Map.ofList [[

                                "nestedProperty", JString "Nested Object Value"

                            ]]

                        )

                    ]]

                )

                "nestedObjects", JArray [[

                  JObject (Map.ofList [[ "name", JString "Alice"; "age", JNumber

25.0 ]])

                  JObject (Map.ofList [[ "name", JString "Bob"; "age", JNumber 

30.0 ]])

                ]]

            ]]

        )

    )

)



╭─[ 552.67ms - return value ]──────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Success<br/>  (JObject<br/>     (map<br/>        │

│ [(&quot;array&quot;,<br/>          JArray<br/>            [JNumber 1.0;      │

│ JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber 5.0]);<br/>                   │

│ (&quot;boolean&quot;, JBool true); (&quot;emptyArray&quot;, JArray []);<br/> │

│ (&quot;emptyObject&quot;, JObject (map []));<br/>                            │

│ (&quot;escapedString&quot;, JString &quot;This                               │

│ s...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │

│ td>Item</td><td><details class="dni-treeview"><summary><span                 │

│ class="dni-code-hint"><code>(JObject<br/>  (map<br/>     [                   │

│ (&quot;array&quot;,<br/>       JArray [JNumber 1.0; JNumber 2.0; JNumber     │

│ 3.0; JNumber 4.0; JNumber 5.0]);<br/>      (&quot;boolean&quot;, JBool       │

│ true); (&quot;emptyArray&quot;, JArray []);<br/>                             │

│ (&quot;emptyObject&quot;, JObject (map []));<br/>                            │

│ (&quot;escapedString&quot;, JString &quot;This string contains               │

│ \/\\\b\f<br/>\r\t\&quot;\&#39;&quot;);<br/>                                  │

│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item1</td><td><details class="dni-treeview"><summary><span                 │

│ class="dni-code-hint"><code>JObject<br/>  (map<br/>     [                    │

│ (&quot;array&quot;,<br/>       JArray [JNumber 1.0; JNumber 2.0; JNumber     │

│ 3.0; JNumber 4.0; JNumber 5.0]);<br/>      (&quot;boolean&quot;, JBool       │

│ true); (&quot;emptyArray&quot;, JArray []);<br/>                             │

│ (&quot;emptyObject&quot;, JObject (map []));<br/>                            │

│ (&quot;escapedString&quot;, JString &quot;This string contains               │

│ \/\\\b\f<br/>\r\t\&quot;\&#39;&quot;);<br/>                                  │

│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i></th><th> │

│ value</th></tr></thead><tbody><tr><td><div                                   │

│ class="dni-plaintext"><pre>array</pre></div></td><td>FSI_0012+JValue+JArray< │

│ /td><td><details class="dni-treeview"><summary><span                         │

│ class="dni-code-hint"><code>JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0;   │

│ JNumber 4.0; JNumber                                                         │

│ 5.0]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │

│ td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></ │

│ thead><tbody><tr><td>0</td><td>JNumber                                       │

│ 1.0</td></tr><tr><td>1</td><td>JNumber                                       │

│ 2.0</td></tr><tr><td>2</td><td>JNumber                                       │

│ 3.0</td></tr><tr><td>3</td><td>JNumber                                       │

│ 4.0</td></tr><tr><td>4</td><td>JNumber                                       │

│ 5.0</td></tr></tbody></table></td></tr></tbody></table></div></details></td> │

│ </tr><tr><td><div                                                            │

│ class="dni-plaintext"><pre>boolean</pre></div></td><td>FSI_0012+JValue+JBool │

│ </td><td><details class="dni-treeview"><summary><span                        │

│ class="dni-code-hint"><code>JBool                                            │

│ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │

│ td>Item</td><td><div                                                         │

│ class="dni-plaintext"><pre>True</pre></div></td></tr></tbody></table></div>< │

│ /details></td></tr><tr><td><div                                              │

│ class="dni-plaintext"><pre>emptyArray</pre></div></td><td>FSI_0012+JValue+JA │

│ rray</td><td><details class="dni-treeview"><summary><span                    │

│ class="dni-code-hint"><code>JArray [                                         │

│ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td></ │

│ tr><tr><td><div                                                              │

│ class="dni-plaintext"><pre>emptyObject</pre></div></td><td>FSI_0012+JValue+J │

│ Object</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JObject (map [                                   │

│ ])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td>< │

│ /tr><tr><td><div                                                             │

│ class="dni-plaintext"><pre>escapedString</pre></div></td><td>FSI_0012+JValue │

│ +JString</td><td><details class="dni-treeview"><summary><span                │

│ class="dni-code-hint"><code>JString &quot;This string contains               │

│ \/\\\b\f<br/>\r\t\&quot;\&#39;&quot;</code></span></summary><div><table><the │

│ ad><tr></tr></thead><tbody><tr><td>Item</td><td><div                         │

│ class="dni-plaintext"><pre>This string contains                              │

│ \/\\\b\f<br/>\r\t\&quot;\&#39;</pre></div></td></tr></tbody></table></div></ │

│ details></td></tr><tr><td><div                                               │

│ class="dni-plaintext"><pre>nestedArrays</pre></div></td><td>FSI_0012+JValue+ │

│ JArray</td><td><details class="dni-treeview"><summary><span                  │

│ class="dni-code-hint"><code>JArray<br/>  [JArray [JNumber 1.0; JNumber 2.0;  │

│ JNumber 3.0];<br/>   JArray [JNumber 4.0; JNumber 5.0; JNumber               │

│ 6.0]]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │

│ <td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr>< │

│ /thead><tbody><tr><td>0</td><td>JArray [JNumber 1.0; JNumber 2.0; JNumber    │

│ 3.0]</td></tr><tr><td>1</td><td>JArray [JNumber 4.0; JNumber 5.0; JNumber    │

│ 6.0]</td></tr></tbody></table></td></tr></tbody></table></div></details></td │

│ ></tr><tr><td><div                                                           │

│ class="dni-plaintext"><pre>nestedObjects</pre></div></td><td>FSI_0012+JValue │

│ +JArray</td><td><details class="dni-treeview"><summary><span                 │

│ class="dni-code-hint"><code>JArray<br/>  [JObject (map [(&quot;age&quot;,    │

│ JNumber 25.0); (&quot;name&quot;, JString &quot;Alice&quot;)]);<br/>         │

│ JObject (map [(&quot;age&quot;, JNumber 30.0); (&quot;name&quot;, JString    │

│ &quot;Bob&quot;)])]</code></span></summary><div><table><thead><tr></tr></the │

│ ad><tbody><tr><td>Item</td><td><table><thead><tr><th><i>index</i></th><th>va │

│ lue</th></tr></thead><tbody><tr><td>0</td><td>JObject (map [("age", JNumber  │

│ 25.0); ("name", JString "Alice")])</td></tr><tr><td>1</td><td>JObject (map [ │

│ ("age", JNumber 30.0); ("name", JString                                      │

│ "Bob")])</td></tr></tbody></table></td></tr></tbody></table></div></details> │

│ </td></tr><tr><td><div                                                       │

│ class="dni-plaintext"><pre>nullValue</pre></div></td><td>FSI_0012+JValue</td │

│ ><td><details class="dni-treeview"><summary><span                            │

│ class="dni-code-hint"><code>JNull</code></span></summary><div><table><thead> │

│ <tr></tr></thead><tbody></tbody></table></div></details></td></tr><tr><td><d │

│ iv                                                                           │

│ class="dni-plaintext"><pre>number</pre></div></td><td>FSI_0012+JValue+JNumbe │

│ r</td><td><details class="dni-treeview"><summary><span                       │

│ class="dni-code-hint"><code>JNumber                                          │

│ 42.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │

│ td>Item</td><td><div                                                         │

│ class="dni-plaintext"><pre>42</pre></div></td></tr></tbody></table></div></d │

│ etails></td></tr><tr><td><div                                                │

│ class="dni-plaintext"><pre>object</pre></div></td><td>FSI_0012+JValue+JObjec │

│ t</td><td><details class="dni-treeview"><summary><span                       │

│ class="dni-code-hint"><code>JObject<br/>  (map<br/>     [                    │

│ (&quot;nestedArray&quot;, JArray [JString &quot;a&quot;; JString             │

│ &quot;b&quot;; JString &quot;c&quot;]);<br/>                                 │

│ (&quot;nestedBoolean&quot;, JBool false); (&quot;nestedNull&quot;,           │

│ JNull);<br/>      (&quot;nestedNumber&quot;, JNumber 3.14);<br/>             │

│ (&quot;nestedObject&quot;,<br/>       JObject (map [                         │

│ (&quot;nestedProperty&quot;, JString &quot;Nested Object                     │

│ Value&quot;)]));<br/>                                                        │

│ (&quot;ne...</code></span></summary><div><table><thead><tr></tr></thead><tbo │

│ dy><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i> │

│ </th><th>value</th></tr></thead><tbody><tr><td><div                          │

│ class="dni-plaintext"><pre>nestedArray</pre></div></td><td>FSI_0012+JValue+J │

│ Array</td><td>JArray [JString "a"; JString "b"; JString                      │

│ "c"]</td></tr><tr><td><div                                                   │

│ class="dni-plaintext"><pre>nestedBoolean</pre></div></td><td>FSI_0012+JValue │

│ +JBool</td><td>JBool false</td></tr><tr><td><div                             │

│ class="dni-plaintext"><pre>nestedNull</pre></div></td><td>FSI_0012+JValue</t │

│ d><td>JNull</td></tr><tr><td><div                                            │

│ class="dni-plaintext"><pre>nestedNumber</pre></div></td><td>FSI_0012+JValue+ │

│ JNumber</td><td>JNumber 3.14</td></tr><tr><td><div                           │

│ class="dni-plaintext"><pre>nestedObject</pre></div></td><td>FSI_0012+JValue+ │

│ JObject</td><td>JObject (map [("nestedProperty", JString "Nested Object      │

│ Value")])</td></tr><tr><td><div                                              │

│ class="dni-plaintext"><pre>nestedString</pre></div></td><td>FSI_0012+JValue+ │

│ JString</td><td>JString "Nested                                              │

│ Value"</td></tr></tbody></table></td></tr></tbody></table></div></details></ │

│ td></tr><tr><td><div                                                         │

│ class="dni-plaintext"><pre>scientificNumber</pre></div></td><td>FSI_0012+JVa │

│ lue+JNumber</td><td><details class="dni-treeview"><summary><span             │

│ class="dni-code-hint"><code>JNumber                                          │

│ 3.14e-10</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │

│ tr><td>Item</td><td><div                                                     │

│ class="dni-plaintext"><pre>3.14E-10</pre></div></td></tr></tbody></table></d │

│ iv></details></td></tr><tr><td><div                                          │

│ class="dni-plaintext"><pre>specialCharacters</pre></div></td><td>FSI_0012+JV │

│ alue+JString</td><td><details class="dni-treeview"><summary><span            │

│ class="dni-code-hint"><code>JString                                          │

│ &quot;!@#$%^&amp;*()&quot;</code></span></summary><div><table><thead><tr></t │

│ r></thead><tbody><tr><td>Item</td><td><div                                   │

│ class="dni-plaintext"><pre>!@#$%^&amp;*()</pre></div></td></tr></tbody></tab │

│ le></div></details></td></tr><tr><td><div                                    │

│ class="dni-plaintext"><pre>string</pre></div></td><td>FSI_0012+JValue+JStrin │

│ g</td><td><details class="dni-treeview"><summary><span                       │

│ class="dni-code-hint"><code>JString &quot;Hello,                             │

│ &quot;World&quot;!&quot;</code></span></summary><div><table><thead><tr></tr> │

│ </thead><tbody><tr><td>Item</td><td><div class="dni-plaintext"><pre>Hello,   │

│ &quot;World&quot;!</pre></div></td></tr></tbody></table></div></details></td │

│ ></tr><tr><td><div                                                           │

│ class="dni-plaintext"><pre>unicodeString1</pre></div></td><td>FSI_0012+JValu │

│ e+JString</td><td><details class="dni-treeview"><summary><span               │

│ class="dni-code-hint"><code>JString                                          │

│ &quot;프리마&quot;</code></span></summary><div><table><thead><tr></tr></thea │

│ d><tbody><tr><td>Item</td><td><div                                           │

│ class="dni-plaintext"><pre>프리마</pre></div></td></tr></tbody></table></div │

│ ></details></td></tr><tr><td><div                                            │

│ class="dni-plaintext"><pre>unicodeString2</pre></div></td><td>FSI_0012+JValu │

│ e+JString</td><td><details class="dni-treeview"><summary><span               │

│ class="dni-code-hint"><code>JString &quot;Hello,                             │

│ &quot;World&quot;!&quot;</code></span></summary><div><table><thead><tr></tr> │

│ </thead><tbody><tr><td>Item</td><td><div class="dni-plaintext"><pre>Hello,   │

│ &quot;World&quot;!</pre></div></td></tr></tbody></table></div></details></td │

│ ></tr></tbody></table></td></tr></tbody></table></div></details></td></tr><t │

│ r><td>Item2</td><td><details class="dni-treeview"><summary><span             │

│ class="dni-code-hint"><code>{ lines =<br/>   [|&quot;{&quot;; &quot;         │

│ &quot;string&quot;: &quot;Hello, \&quot;World\&quot;!&quot;,&quot;;<br/>     │

│ &quot;  &quot;escapedString&quot;: &quot;This string contains                │

│ \\/\\\\\\b\\f\<br/>\\r\\t\\\&quot;\\&#39;&quot;,&quot;;<br/>     &quot;      │

│ &quot;number&quot;: 42,&quot;; &quot;  &quot;scientificNumber&quot;:         │

│ 3.14e-10,&quot;; &quot;  &quot;boolean&quot;: true,&quot;;<br/>     &quot;   │

│ &quot;nullValue&quot;: null,&quot;; &quot;  &quot;array&quot;: [1, 2, 3, 4,  │

│ 5],&quot;;<br/>     &quot;                                                   │

│ &quot;unicodeS...</code></span></summary><div><table><thead><tr></tr></thead │

│ ><tbody><tr><td>lines</td><td><div class="dni-plaintext"><pre>[ {,           │

│ &quot;string&quot;: &quot;Hello, \&quot;World\&quot;!&quot;,,                │

│ &quot;escapedString&quot;: &quot;This string contains                        │

│ \\/\\\\\\b\\f\<br/>\\r\\t\\\&quot;\\&#39;&quot;,,   &quot;number&quot;: 42,, │

│ &quot;scientificNumber&quot;: 3.14e-10,,   &quot;boolean&quot;: true,,       │

│ &quot;nullValue&quot;: null,,   &quot;array&quot;: [1, 2, 3, 4, 5],,         │

│ &quot;unicodeString1&quot;: &quot;프리마&quot;,,                             │

│ &quot;unicodeString2&quot;: &quot;\u0048\u0065\u006C\u006C\u006F,            │

│ \u0022\u0057\u006F\u0072\u006C\u0064\u0022!&quot;,,                          │

│ &quot;specialCharacters&quot;: &quot;!@#$%^&amp;*()&quot;,,                  │

│ &quot;emptyArray&quot;: [],,   &quot;emptyObject&quot;: {},,                 │

│ &quot;nestedArrays&quot;: [[1, 2, 3], [4, 5, 6]],,   &quot;object&quot;: {,  │

│ &quot;nestedString&quot;: &quot;Nested Value&quot;,,                         │

│ &quot;nestedNumber&quot;: 3.14,,     &quot;nestedBoolean&quot;: false,,      │

│ &quot;nestedNull&quot;: null,,     &quot;nestedArray&quot;: [&quot;a&quot;,  │

│ &quot;b&quot;, &quot;c&quot;],,     &quot;nestedObject&quot;: {,             │

│ &quot;nestedProperty&quot;: &quot;Nested Object Value&quot;,     },   },,    │

│ &quot;nestedObjects&quot;: [,     {&quot;name&quot;: &quot;Alice&quot;,      │

│ &quot;age&quot;: 25},,     {&quot;name&quot;: &quot;Bob&quot;,               │

│ &quot;age&quot;: 30},   ], }                                                 │

│ ]</pre></div></td></tr><tr><td>position</td><td><details                     │

│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line =     │

│ 29<br/>  column = 0                                                          │

│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │

│ line</td><td><div                                                            │

│ class="dni-plaintext"><pre>29</pre></div></td></tr><tr><td>column</td><td><d │

│ iv                                                                           │

│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │

│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │

│ div></details></td></tr></tbody></table></div></details><style>              │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 670.85ms - stdout ]────────────────────────────────────────────────────────╮

│ JObject                                                                      │

│   (map                                                                       │

│      [("array",                                                              │

│        JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber   │

│ 5.0]);                                                                       │

│       ("boolean", JBool true); ("emptyArray", JArray []);                    │

│       ("emptyObject", JObject (map []));                                     │

│       ("escapedString", JString "This string contains \/\\\b\f\n\r\t\"\'");  │

│       ("nestedArrays",                                                       │

│        JArray                                                                │

│          [JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0];                    │

│           JArray [JNumber 4.0; JNumber 5.0; JNumber 6.0]]);                  │

│       ("nestedObjects",                                                      │

│        JArray                                                                │

│          [JObject (map [("age", JNumber 25.0); ("name", JString "Alice")]);  │

│           JObject (map [("age", JNumber 30.0); ("name", JString "Bob")])]);  │

│       ("nullValue", JNull); ("number", JNumber 42.0); ...])                  │

│ JObject                                                                      │

│       Item: FSharpMap<String,JValue>                                         │

│         - Key: array                                                         │

│           Value: JArray                                                      │

│             Item: FSharpList<JValue>                                         │

│               - Item: 1                                                      │

│               - Item: 2                                                      │

│               - Item: 3                                                      │

│               - Item: 4                                                      │

│               - Item: 5                                                      │

│         - Key: boolean                                                       │

│           Value: JBool                                                       │

│             Item: True                                                       │

│         - Key: emptyArray                                                    │

│           Value: JArray                                                      │

│             Item: FSharpList<JValue>                                         │

│                                                                              │

│         - Key: emptyObject                                                   │

│           Value: JObject                                                     │

│             Item: FSharpMap<String,JValue>                                   │

│                                                                              │

│         - Key: escapedString                                                 │

│           Value: JString                                                     │

│             Item: This string contains \/\\\b\f\n\r\t\"\'                    │

│         - Key: nestedArrays                                                  │

│           Value: JArray                                                      │

│             Item: FSharpList<JValue>                                         │

│               - Item: [ JNumber 1.0, JNumber 2.0, JNumber 3.0 ]              │

│               - Item: [ JNumber 4.0, JNumber 5.0, JNumber 6.0 ]              │

│         - Key: nestedObjects                                                 │

│           Value: JArray                                                      │

│             Item: FSharpList<JValue>                                         │

│               - Item: [ [age, JNumber 25.0], [name, JString "Alice"] ]       │

│               - Item: [ [age, JNumber 30.0], [name, JString "Bob"] ]         │

│         - Key: nullValue                                                     │

│           Value: JNull                                                       │

│         - Key: number                                                        │

│           Value: JNumber                                                     │

│             Item: 42                                                         │

│         - Key: object                                                        │

│           Value: JObject                                                     │

│             Item: FSharpMap<String,JValue>                                   │

│               - Key: nestedArray                                             │

│                 Value: JArray [JString "a"; JString "b"; JString "c"]        │

│               - Key: nestedBoolean                                           │

│                 Value: JBool false                                           │

│               - Key: nestedNull                                              │

│                 Value: JNull                                                 │

│               - Key: nestedNumber                                            │

│                 Value: JNumber 3.14                                          │

│               - Key: nestedObject                                            │

│                 Value: JObject (map [("nestedProperty", JString "Nested      │

│ Object Value")])                                                             │

│               - Key: nestedString                                            │

│                 Value: JString "Nested Value"                                │

│         - Key: scientificNumber                                              │

│           Value: JNumber                                                     │

│             Item: 3.14E-10                                                   │

│         - Key: specialCharacters                                             │

│           Value: JString                                                     │

│             Item: !@#$%^&*()                                                 │

│         - Key: string                                                        │

│           Value: JString                                                     │

│             Item: Hello, "World"!                                            │

│         - Key: unicodeString1                                                │

│           Value: JString                                                     │

│             Item: 프리마                                                     │

│         - Key: unicodeString2                                                │

│           Value: JString                                                     │

│             Item: Hello, "World"!                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook JsonParser.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 502725 bytes to JsonParser.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Parser (Polyglot)                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### TextInput                                                                │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type Position =

    {

        line : int

        column : int

    }



── fsharp ──────────────────────────────────────────────────────────────────────

let initialPos = { line = 0; column = 0 }



── fsharp ──────────────────────────────────────────────────────────────────────

let inline incrCol (pos : Position) =

    { pos with column = pos.column + 1 }



── fsharp ──────────────────────────────────────────────────────────────────────

let inline incrLine pos =

    { line = pos.line + 1; column = 0 }



── fsharp ──────────────────────────────────────────────────────────────────────

type InputState =

    {

        lines : string[[]]

        position : Position

    }



── fsharp ──────────────────────────────────────────────────────────────────────

let inline fromStr str =

    {

        lines =

            if str |> String.IsNullOrEmpty

            then [[||]]

            else str |> String.splitString [[| "\r\n"; "\n" |]]

        position = initialPos

    }



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



fromStr "" |> _equal {

    lines = [[||]]

    position = { line = 0; column = 0 }

}



╭─[ 51.34ms - stdout ]─────────────────────────────────────────────────────────╮

│ InputState                                                                   │

│       lines: [  ]                                                            │

│       position: Position                                                     │

│         line: 0                                                              │

│         column: 0                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



fromStr "Hello \n World" |> _equal {

    lines = [[| "Hello "; " World" |]]

    position = { line = 0; column = 0 }

}



╭─[ 21.70ms - stdout ]─────────────────────────────────────────────────────────╮

│ InputState                                                                   │

│       lines: [ Hello ,  World ]                                              │

│       position: Position                                                     │

│         line: 0                                                              │

│         column: 0                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline currentLine inputState =

    let linePos = inputState.position.line

    if linePos < inputState.lines.Length

    then inputState.lines.[[linePos]]

    else "end of file"



── fsharp ──────────────────────────────────────────────────────────────────────

let inline nextChar input =

    let linePos = input.position.line

    let colPos = input.position.column



    if linePos >= input.lines.Length

    then input, None

    else

        let currentLine = currentLine input

        if colPos < currentLine.Length then

            let char = currentLine.[[colPos]]

            let newPos = incrCol input.position

            let newState = { input with position = newPos }

            newState, Some char

        else

            let char = '\n'

            let newPos = incrLine input.position

            let newState = { input with position = newPos }

            newState, Some char



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let newInput, charOpt = fromStr "Hello World" |> nextChar



newInput |> _equal {

    lines = [[| "Hello World" |]]

    position = { line = 0; column = 1 }

}

charOpt |> _equal (Some 'H')



╭─[ 54.93ms - stdout ]─────────────────────────────────────────────────────────╮

│ InputState                                                                   │

│       lines: [ Hello World ]                                                 │

│       position: Position                                                     │

│         line: 0                                                              │

│         column: 1                                                            │

│ FSharpOption<Char>                                                           │

│       Value: H                                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let newInput, charOpt = fromStr "Hello\n\nWorld" |> nextChar



newInput |> _equal {

    lines = [[| "Hello"; ""; "World" |]]

    position = { line = 0; column = 1 }

}

charOpt |> _equal (Some 'H')



╭─[ 32.11ms - stdout ]─────────────────────────────────────────────────────────╮

│ InputState                                                                   │

│       lines: [ Hello, , World ]                                              │

│       position: Position                                                     │

│         line: 0                                                              │

│         column: 1                                                            │

│ FSharpOption<Char>                                                           │

│       Value: H                                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### Parser                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type Input = InputState

type ParserLabel = string

type ParserError = string



type ParserPosition =

    {

        currentLine : string

        line : int

        column : int

    }



type ParseResult<'a> =

    | Success of 'a

    | Failure of ParserLabel * ParserError * ParserPosition



type Parser<'a> =

    {

        label : ParserLabel

        parseFn : Input -> ParseResult<'a * Input>

    }



── fsharp ──────────────────────────────────────────────────────────────────────

let inline printResult result =

    match result with

    | Success (value, input) ->

        printfn $"%A{value}"

    | Failure (label, error, parserPos) ->

        let errorLine = parserPos.currentLine

        let colPos = parserPos.column

        let linePos = parserPos.line

        let failureCaret = $"{' ' |> string |> String.replicate colPos}^{error}"

        printfn $"Line:%i{linePos} Col:%i{colPos} Error parsing 

%s{label}\n%s{errorLine}\n%s{failureCaret}"



── fsharp ──────────────────────────────────────────────────────────────────────

let inline runOnInput parser input =

    parser.parseFn input



── fsharp ──────────────────────────────────────────────────────────────────────

let inline run parser inputStr =

    runOnInput parser (fromStr inputStr)



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parserPositionFromInputState (inputState : Input) =

    {

        currentLine = currentLine inputState

        line = inputState.position.line

        column = inputState.position.column

    }



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getLabel parser =

    parser.label



── fsharp ──────────────────────────────────────────────────────────────────────

let inline setLabel parser newLabel =

    {

        label = newLabel

        parseFn = fun input ->

            match parser.parseFn input with

            | Success s -> Success s

            | Failure (oldLabel, err, pos) -> Failure (newLabel, err, pos)

    }



── fsharp ──────────────────────────────────────────────────────────────────────

let (<?>) = setLabel



── fsharp ──────────────────────────────────────────────────────────────────────

let inline satisfy predicate label =

    {

        label = label

        parseFn = fun input ->

            let remainingInput, charOpt = nextChar input

            match charOpt with

            | None ->

                let err = "No more input"

                let pos = parserPositionFromInputState input

                Failure (label, err, pos)

            | Some first ->

                if predicate first

                then Success (first, remainingInput)

                else

                    let err = $"Unexpected '%c{first}'"

                    let pos = parserPositionFromInputState input

                    Failure (label, err, pos)

    }



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = satisfy (fun c -> c = 'H') "H"

runOnInput parser input |> _equal (

    Success (

        'H',

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 1 }

        }

    )

)



╭─[ 35.37ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - H                                                        │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 1                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "World"

let parser = satisfy (fun c -> c = 'H') "H"

runOnInput parser input |> _equal (

    Failure (

        "H",

        "Unexpected 'W'",

        {

            currentLine = "World"

            line = 0

            column = 0

        }

    )

)



╭─[ 38.23ms - stdout ]─────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: H                                                               │

│       Item2: Unexpected 'W'                                                  │

│       Item3: ParserPosition                                                  │

│         currentLine: World                                                   │

│         line: 0                                                              │

│         column: 0                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline bindP f p =

    {

        label = "unknown"

        parseFn = fun input ->

            match runOnInput p input with

            | Failure (label, err, pos) -> Failure (label, err, pos)

            | Success (value1, remainingInput) -> runOnInput (f value1) 

remainingInput

    }



── fsharp ──────────────────────────────────────────────────────────────────────

let inline (>>=) p f = bindP f p



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e"

runOnInput parser2 input |> _equal (

    Success (

        'e',

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 2 }

        }

    )

)



╭─[ 48.03ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - e                                                        │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 2                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "World"

let parser = satisfy (fun c -> c = 'W') "W"

let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e"

runOnInput parser2 input |> _equal (

    Failure (

        "e",

        "Unexpected 'o'",

        {

            currentLine = "World"

            line = 0

            column = 1

        }

    )

)



╭─[ 42.55ms - stdout ]─────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: e                                                               │

│       Item2: Unexpected 'o'                                                  │

│       Item3: ParserPosition                                                  │

│         currentLine: World                                                   │

│         line: 0                                                              │

│         column: 1                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline returnP x =

    {

        label = $"%A{x}"

        parseFn = fun input -> Success (x, input)

    }



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = returnP "Hello"

runOnInput parser input |> _equal (

    Success (

        "Hello",

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 0 }

        }

    )

)



╭─[ 36.31ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - Hello                                                    │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 0                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline mapP f =

    bindP (f >> returnP)



── fsharp ──────────────────────────────────────────────────────────────────────

let (<!>) = mapP



── fsharp ──────────────────────────────────────────────────────────────────────

let inline (|>>) x f = f <!> x



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = parser |>> string

runOnInput parser2 input |> _equal (

    Success (

        "H",

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 1 }

        }

    )

)



╭─[ 47.10ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - H                                                        │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 1                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline applyP fP xP =

    fP >>=

        fun f ->

            xP >>=

                fun x ->

                    returnP (f x)



── fsharp ──────────────────────────────────────────────────────────────────────

let (<*>) = applyP



── fsharp ──────────────────────────────────────────────────────────────────────

let inline lift2 f xP yP =

    returnP f <*> xP <*> yP



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = satisfy (fun c -> c = 'e') "e"

let parser3 = lift2 (fun c1 c2 -> string c1 + string c2) parser parser2

runOnInput parser3 input |> _equal (

    Success (

        "He",

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 2 }

        }

    )

)



╭─[ 77.88ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - He                                                       │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 2                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline andThen p1 p2 =

    p1 >>=

        fun p1Result ->

            p2 >>=

                fun p2Result ->

                    returnP (p1Result, p2Result)

    <?> $"{getLabel p1} andThen {getLabel p2}"



── fsharp ──────────────────────────────────────────────────────────────────────

let (.>>.) = andThen



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = satisfy (fun c -> c = 'e') "e"

let parser3 = parser .>>. parser2

runOnInput parser3 input |> _equal (

    Success (

        ('H', 'e'),

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 2 }

        }

    )

)



╭─[ 52.10ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - ( H, e )                                                 │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 2                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline orElse p1 p2 =

    {

        label = $"{getLabel p1} orElse {getLabel p2}"

        parseFn = fun input ->

            match runOnInput p1 input with

            | Success _ as result -> result

            | Failure _ -> runOnInput p2 input

    }



── fsharp ──────────────────────────────────────────────────────────────────────

let (<|>) = orElse



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = satisfy (fun c -> c = 'h') "h"

let parser3 = parser <|> parser2

runOnInput parser3 input |> _equal (

    Success (

        'h',

        {

            lines = [[| "hello" |]]

            position = { line = 0; column = 1 }

        }

    )

)



╭─[ 51.45ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - h                                                        │

│       - InputState                                                           │

│           lines: [ hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 1                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline choice listOfParsers =

    listOfParsers |> List.reduce (<|>)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = satisfy (fun c -> c = 'h') "h"

let parser3 = choice [[ parser; parser2 ]]

runOnInput parser3 input |> _equal (

    Success (

        'h',

        {

            lines = [[| "hello" |]]

            position = { line = 0; column = 1 }

        }

    )

)



╭─[ 45.36ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - h                                                        │

│       - InputState                                                           │

│           lines: [ hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 1                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let rec sequence parserList =

    match parserList with

    | [[]] -> returnP [[]]

    | head :: tail -> (lift2 cons) head (sequence tail)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = satisfy (fun c -> c = 'e') "e"

let parser3 = sequence [[ parser; parser2 ]]

runOnInput parser3 input |> _equal (

    Success (

        [[ 'H'; 'e' ]],

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 2 }

        }

    )

)



╭─[ 58.85ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - [ H, e ]                                                 │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 2                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let rec parseZeroOrMore parser input =

    match runOnInput parser input with

    | Failure (_, _, _) ->

        [[]], input

    | Success (firstValue, inputAfterFirstParse) ->

        let subsequentValues, remainingInput = parseZeroOrMore parser 

inputAfterFirstParse

        firstValue :: subsequentValues, remainingInput



── fsharp ──────────────────────────────────────────────────────────────────────

let inline many parser =

    {

        label = $"many {getLabel parser}"

        parseFn = fun input -> Success (parseZeroOrMore parser input)

    }



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = many parser

runOnInput parser2 input |> _equal (

    Success (

        [[]],

        {

            lines = [[| "hello" |]]

            position = { line = 0; column = 0 }

        }

    )

)



╭─[ 36.34ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - [  ]                                                     │

│       - InputState                                                           │

│           lines: [ hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 0                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline many1 p =

    p >>=

        fun head ->

            many p >>=

                fun tail ->

                    returnP (head :: tail)

    <?> $"many1 {getLabel p}"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = many1 parser

runOnInput parser2 input |> _equal (

    Failure (

        "many1 H",

        "Unexpected 'h'",

        {

            currentLine = "hello"

            line = 0

            column = 0

        }

    )

)



╭─[ 51.85ms - stdout ]─────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: many1 H                                                         │

│       Item2: Unexpected 'h'                                                  │

│       Item3: ParserPosition                                                  │

│         currentLine: hello                                                   │

│         line: 0                                                              │

│         column: 0                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline opt p =

    let some = p |>> Some

    let none = returnP None

    (some <|> none)

    <?> $"opt {getLabel p}"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "hello"

let parser = satisfy (fun c -> c = 'H') "H"

let parser2 = opt parser

runOnInput parser2 input |> _equal (

    Success (

        None,

        {

            lines = [[| "hello" |]]

            position = { line = 0; column = 0 }

        }

    )

)



╭─[ 58.24ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - <null>                                                   │

│       - InputState                                                           │

│           lines: [ hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 0                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline (.>>) p1 p2 =

    p1 .>>. p2

    |> mapP fst



── fsharp ──────────────────────────────────────────────────────────────────────

let inline (>>.) p1 p2 =

    p1 .>>. p2

    |> mapP snd



── fsharp ──────────────────────────────────────────────────────────────────────

let inline between p1 p2 p3 =

    p1 >>. p2 .>> p3



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "[[Hello]]"

let parser =

    between

        (satisfy (fun c -> c = '[[') "[[")

        (many (satisfy (fun c -> [[ 'a' .. 'z' ]] @ [[ 'A' .. 'Z' ]] |> 

List.contains c) "letter"))

        (satisfy (fun c -> c = ']]') "]]")

runOnInput parser input |> _equal (

    Success (

        [[ 'H'; 'e'; 'l'; 'l'; 'o' ]],

        {

            lines = [[| "[[Hello]]" |]]

            position = { line = 0; column = 7 }

        }

    )

)



╭─[ 118.18ms - stdout ]────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - [ H, e, l, l, o ]                                        │

│       - InputState                                                           │

│           lines: [ [Hello] ]                                                 │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 7                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline sepBy1 p sep =

    let sepThenP = sep >>. p

    p .>>. many sepThenP

    |>> fun (p, pList) -> p :: pList



── fsharp ──────────────────────────────────────────────────────────────────────

let inline sepBy p sep =

    sepBy1 p sep <|> returnP [[]]



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello,World"

let parser = sepBy (many (satisfy (fun c -> c <> ',') "not comma")) (satisfy 

(fun c -> c = ',') "comma")

runOnInput parser input |> _equal (

    Success (

        [[ [[ 'H'; 'e'; 'l'; 'l'; 'o' ]]; [[ 'W'; 'o'; 'r'; 'l'; 'd'; '\n' ]] 

]],

        {

            lines = [[| "Hello,World" |]]

            position = { line = 1; column = 0 }

        }

    )

)



╭─[ 83.27ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - FSharpList<FSharpList<Char>>                             │

│ [ H, e, l, l, o ]                                                            │

│ [ W, o, r, l, d,                                                             │

│  ]                                                                           │

│       - InputState                                                           │

│           lines: [ Hello,World ]                                             │

│           position: Position                                                 │

│             line: 1                                                          │

│             column: 0                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline pchar charToMatch =

    satisfy ((=) charToMatch) $"%c{charToMatch}"



── fsharp ──────────────────────────────────────────────────────────────────────

let inline anyOf listOfChars =

    listOfChars

    |> List.map pchar

    |> choice

    <?> $"anyOf %A{listOfChars}"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = anyOf [[ 'H'; 'e'; 'l'; 'o' ]] |> many

runOnInput parser input |> _equal (

    Success (

        [[ 'H'; 'e'; 'l'; 'l'; 'o' ]],

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 5 }

        }

    )

)



╭─[ 56.72ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - [ H, e, l, l, o ]                                        │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 5                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline charListToStr charList =

    charList |> List.toArray |> String



── fsharp ──────────────────────────────────────────────────────────────────────

let inline manyChars cp =

    many cp

    |>> charListToStr



── fsharp ──────────────────────────────────────────────────────────────────────

let inline manyChars1 cp =

    many1 cp

    |>> charListToStr



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = manyChars1 (anyOf [[ 'H'; 'e'; 'l'; 'o' ]])

runOnInput parser input |> _equal (

    Success (

        "Hello",

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 5 }

        }

    )

)



╭─[ 81.34ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - Hello                                                    │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 5                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline pstring str =

    str

    |> List.ofSeq

    |> List.map pchar

    |> sequence

    |> mapP charListToStr

    <?> str



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = pstring "Hello"

runOnInput parser input |> _equal (

    Success (

        "Hello",

        {

            lines = [[| "Hello" |]]

            position = { line = 0; column = 5 }

        }

    )

)



╭─[ 55.30ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - Hello                                                    │

│       - InputState                                                           │

│           lines: [ Hello ]                                                   │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 5                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let whitespaceChar =

    satisfy Char.IsWhiteSpace "whitespace"



── fsharp ──────────────────────────────────────────────────────────────────────

let spaces = many whitespaceChar



── fsharp ──────────────────────────────────────────────────────────────────────

let spaces1 = many1 whitespaceChar



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "  Hello"

let parser = spaces1 .>>. pstring "Hello"

runOnInput parser input |> _equal (

    Success (

        ([[ ' '; ' ' ]], "Hello"),

        {

            lines = [[| "  Hello" |]]

            position = { line = 0; column = 7 }

        }

    )

)



╭─[ 97.18ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       -         - [  ,   ]                                       │

│         - Hello                                                              │

│       - InputState                                                           │

│           lines: [   Hello ]                                                 │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 7                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let digitChar =

    satisfy Char.IsDigit "digit"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let input = fromStr "Hello"

let parser = digitChar

runOnInput parser input |> _equal (

    Failure (

        "digit",

        "Unexpected 'H'",

        {

            currentLine = "Hello"

            line = 0

            column = 0

        }

    )

)



╭─[ 22.55ms - stdout ]─────────────────────────────────────────────────────────╮

│ Failure                                                                      │

│       Item1: digit                                                           │

│       Item2: Unexpected 'H'                                                  │

│       Item3: ParserPosition                                                  │

│         currentLine: Hello                                                   │

│         line: 0                                                              │

│         column: 0                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let pint =

    let inline resultToInt (sign, digits) =

        let i = int digits

        match sign with

        | Some ch -> -i

        | None -> i



    let digits = manyChars1 digitChar



    opt (pchar '-') .>>. digits

    |> mapP resultToInt

    <?> "integer"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run pint "-123"

|> _equal (

    Success (

        -123,

        {

            lines = [[| "-123" |]]

            position = { line = 0; column = 4 }

        }

    )

)



╭─[ 38.41ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - -123                                                     │

│       - InputState                                                           │

│           lines: [ -123 ]                                                    │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 4                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let pfloat =

    let inline resultToFloat (((sign, digits1), point), digits2) =

        let fl = float $"{digits1}.{digits2}"

        match sign with

        | Some ch -> -fl

        | None -> fl



    let digits = manyChars1 digitChar



    opt (pchar '-') .>>. digits .>>. pchar '.' .>>. digits

    |> mapP resultToFloat

    <?> "float"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



run pfloat "-123.45"

|> _equal (

    Success (

        -123.45,

        {

            lines = [[| "-123.45" |]]

            position = { line = 0; column = 7 }

        }

    )

)



╭─[ 39.62ms - stdout ]─────────────────────────────────────────────────────────╮

│ Success                                                                      │

│       Item:       - -123.45                                                  │

│       - InputState                                                           │

│           lines: [ -123.45 ]                                                 │

│           position: Position                                                 │

│             line: 0                                                          │

│             column: 7                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline createParserForwardedToRef<'a> () =

    let mutable parserRef : Parser<'a> =

        {

            label = "unknown"

            parseFn = fun _ -> failwith "unfixed forwarded parser"

        }



    let wrapperParser =

        { parserRef with

            parseFn = fun input -> runOnInput parserRef input

        }



    wrapperParser, (fun v -> parserRef <- v)



── fsharp ──────────────────────────────────────────────────────────────────────

let inline (>>%) p x =

    p

    |>> fun _ -> x

[NbConvertApp] Converting notebook Parser.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 412907 bytes to Parser.dib.html

23:08:35 #1 [Debug] writeDibCode / output: Fs / path: JsonParser.dib

23:08:35 #1 [Debug] writeDibCode / output: Fs / path: Parser.dib

23:08:35 #3 [Debug] parseDibCode / output: Fs / file: Parser.dib

23:08:35 #3 [Debug] parseDibCode / output: Fs / file: JsonParser.dib

In [ ]:
{ . "$ScriptDir/../nbs/build.ps1" } | Invoke-Block

── csharp ──────────────────────────────────────────────────────────────────────





── csharp - import ─────────────────────────────────────────────────────────────



using static Microsoft.DotNet.Interactive.Kernel;





── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Async (Polyglot)                                                           │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## choice                                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline choice asyncs = async {

    let e = Event<_> ()

    use cts = new System.Threading.CancellationTokenSource ()

    let fn =

        asyncs

        |> Seq.map (fun a -> async {

            let! x = a

            e.Trigger x

        })

        |> Async.Parallel

        |> Async.Ignore

    Async.Start (fn, cts.Token)

    let! result = Async.AwaitEvent e.Publish

    cts.Cancel ()

    return result

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## map                                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline map fn a = async {

    let! x = a

    return fn x

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## catch                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline catch a =

    a

    |> Async.Catch

    |> map (function

        | Choice1Of2 result -> Ok result

        | Choice2Of2 ex -> Error ex

    )



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## runWithTimeoutAsync                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline runWithTimeoutAsync (timeout : int) fn =

    let getLocals () = $"timeout: {timeout} / {getLocals ()}"



    let timeoutTask = async {

        do! Async.Sleep timeout

        trace Debug (fun () -> "runWithTimeoutAsync") getLocals

        return None

    }



    let task = async {

        try

            let! result = fn

            return Some result

        with

        | :? System.AggregateException as ex when

            ex.InnerExceptions

            |> Seq.exists (function :? 

System.Threading.Tasks.TaskCanceledException -> true | _ -> false)

            ->

            let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"

            trace Warning (fun () -> "runWithTimeoutAsync") getLocals

            return None

        | ex ->

            trace Critical (fun () -> $"runWithTimeoutAsync** / ex: {ex |> 

printException}") getLocals

            return None

    }



    [[ timeoutTask; task ]]

    |> choice



── fsharp ──────────────────────────────────────────────────────────────────────

let inline runWithTimeout timeout fn =

    fn

    |> runWithTimeoutAsync timeout

    |> Async.RunSynchronously



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



Async.Sleep 60

|> runWithTimeout 10

|> _equal None



╭─[ 163.42ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 10                        │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



Async.Sleep 10

|> runWithTimeout 60

|> _equal (Some ())



╭─[ 117.70ms - stdout ]────────────────────────────────────────────────────────╮

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



async {

    raise (exn "error")

}

|> runWithTimeout 60

|> _equal None



╭─[ 122.59ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #2 [Critical] runWithTimeoutAsync** / ex: System.Exception: error / │

│ timeout: 60                                                                  │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## runWithTimeoutChildAsync                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline runWithTimeoutChildAsync (timeout : int) fn = async {

    let getLocals () = $"timeout: {timeout} / {getLocals ()}"

    let! child = Async.StartChild (fn, timeout)

    return!

        child

        |> catch

        |> map (function

            | Ok result -> Some result

            | Error (:? System.TimeoutException as ex) ->

                trace Debug (fun () -> $"runWithTimeoutChildAsync") getLocals

                None

            | Error ex ->

                trace Critical (fun () -> $"runWithTimeoutChildAsync** / ex: {ex

|> printException}") getLocals

                None

        )

}



── fsharp ──────────────────────────────────────────────────────────────────────

let inline runWithTimeoutChild timeout fn =

    fn

    |> runWithTimeoutChildAsync timeout

    |> Async.RunSynchronously



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



Async.Sleep 60

|> runWithTimeoutChild 10

|> _equal None



╭─[ 103.28ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #3 [Debug] runWithTimeoutChildAsync / timeout: 10                   │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



Async.Sleep 10

|> runWithTimeoutChild 60

|> _equal (Some ())



╭─[ 86.41ms - stdout ]─────────────────────────────────────────────────────────╮

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



async {

    raise (exn "error")

}

|> runWithTimeoutChild 60

|> _equal None



╭─[ 80.20ms - stdout ]─────────────────────────────────────────────────────────╮

│ 00:00:00 #4 [Critical] runWithTimeoutChildAsync** / ex: System.Exception:    │

│ error / timeout: 60                                                          │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## runWithTimeoutStrict                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline runWithTimeoutStrict (timeout : int) fn =

    let getLocals () = $"timeout: {timeout} / {getLocals ()}"



    let timeoutTask = async {

        do! Async.Sleep timeout

        return None, getLocals

    }

    

    let task = async {

        try

            return Async.RunSynchronously (fn, timeout) |> Some, getLocals

        with

        | :? System.TimeoutException as ex ->

            let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"

            return None, getLocals

        | ex ->

            trace Critical (fun () -> $"runWithTimeoutStrict / ex: {ex |> 

printException}") getLocals

            return raise ex

    }



    try

        [[| timeoutTask; task |]]

        |> Array.map Async.StartAsTask

        |> System.Threading.Tasks.Task.WhenAny

        |> fun task ->

            match task.Result.Result with

            | None, getLocals ->

                trace Debug (fun () -> "runWithTimeoutStrict") getLocals

                None

            | result, _ -> result

    with

    | :? System.AggregateException as ex when

        ex.InnerExceptions

        |> Seq.exists (function :? System.Threading.Tasks.TaskCanceledException 

-> true | _ -> false)

        ->

        let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"

        trace Warning (fun () -> "runWithTimeoutStrict") getLocals

        None

    | ex ->

        let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"

        trace Critical (fun () -> "runWithTimeoutStrict**") getLocals

        None



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



Async.Sleep 60

|> runWithTimeoutStrict 10

|> _equal None



╭─[ 126.67ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #5 [Debug] runWithTimeoutStrict / timeout: 10                       │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



Async.Sleep 10

|> runWithTimeoutStrict 60

|> _equal (Some ())



╭─[ 106.96ms - stdout ]────────────────────────────────────────────────────────╮

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



async {

    raise (exn "error")

}

|> runWithTimeoutStrict 60

|> _equal None



╭─[ 102.10ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:01 #6 [Critical] runWithTimeoutStrict / ex: System.Exception: error /  │

│ timeout: 60                                                                  │

│ 00:00:01 #7 [Critical] runWithTimeoutStrict** / ex:                          │

│ System.AggregateException: One or more errors occurred. (error) / timeout:   │

│ 60                                                                           │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## awaitValueTask                                                            │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline awaitValueTaskUnit (task : System.Threading.Tasks.ValueTask) =

    task.AsTask () |> Async.AwaitTask



let inline awaitValueTask (task : System.Threading.Tasks.ValueTask<_>) =

    task.AsTask () |> Async.AwaitTask



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## init                                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline init x = async {

    return x

}



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



init 1

|> Async.RunSynchronously

|> _equal 1



╭─[ 41.81ms - stdout ]─────────────────────────────────────────────────────────╮

│ 1                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## mergeCancellationTokenWithDefaultAsync                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline mergeCancellationTokenWithDefaultAsync (token : 

System.Threading.CancellationToken) = async {

    let! ct = Async.CancellationToken

    let dct = Async.DefaultCancellationToken

    let cts = System.Threading.CancellationTokenSource.CreateLinkedTokenSource 

[[| ct; dct; token |]]

    return cts.Token

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## withCancellationToken                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline withCancellationToken (ct : System.Threading.CancellationToken) fn =

    Async.StartImmediateAsTask (fn, ct)

    |> Async.AwaitTask



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let cts = new System.Threading.CancellationTokenSource ()



async {

    let run = async {

        do! Async.Sleep 100

        return 1

    }



    let! child =

        run

        |> withCancellationToken cts.Token

        |> catch

        |> Async.StartChild



    do! Async.Sleep 50

    cts.Cancel ()

    return! child

}

|> Async.RunSynchronously

|> Result.mapError (fun x -> x.Message)

|> _equal (Error ("A task was canceled."))



╭─[ 214.67ms - stdout ]────────────────────────────────────────────────────────╮

│ FSharpResult<Int32,String>                                                   │

│       ResultValue: 0                                                         │

│       ErrorValue: A task was canceled.                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## withTraceLevel                                                            │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline withTraceLevel level fn = async {

    let oldTraceLevel = traceLevel

    try

        traceLevel <- level

        return! fn

    finally

        traceLevel <- oldTraceLevel

}

[NbConvertApp] Converting notebook Async.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 323665 bytes to Async.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # AsyncSeq (Polyglot)                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/Async.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## subscribeEvent                                                            │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline subscribeEvent (event: IEvent<'H, 'A>) map =

    let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

    System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

    |> FSharp.Control.AsyncSeq.ofObservableBuffered



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



type TestEvent () as self =

    member val Calls = [[]] with get, set

    member val Event = Event<ErrorEventHandler, ErrorEventArgs> () with get



    member _.AddCall text =

        self.Calls <- self.Calls @ [[ text ]]



    member _.EventInterface =

        { new IEvent<ErrorEventHandler, ErrorEventArgs> with

            member _.AddHandler handler =

                self.AddCall "AddHandler"

                self.Event.Publish.AddHandler handler



            member _.RemoveHandler handler =

                self.AddCall "RemoveHandler"

                self.Event.Publish.RemoveHandler handler



            member _.Subscribe observer =

                self.AddCall "IObservable.Subscribe"

                let disposable = self.Event.Publish.Subscribe observer

                newDisposable (fun () ->

                    self.AddCall "IObservable.Dispose"

                    disposable.Dispose ()

                )

        }



    member _.Subscribe () =

        subscribeEvent

            self.EventInterface

            (fun args ->

                let result = args.GetException () |> printException

                self.AddCall $"TestEvent.Subscribe({result})"

                result

            )



    member _.Iter subscription =

        subscription

        |> FSharp.Control.AsyncSeq.iteriAsync (fun i error -> async {

            self.AddCall $"TestEvent.Iter({i}: {error})"

        })



    member _.WaitCall text = async {

        while self.Calls |> List.last <> text do

            do! Async.SwitchToThreadPool ()

    }



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let testEvent = TestEvent ()



async {

    testEvent.AddCall "1"

    let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild

    do! testEvent.WaitCall "AddHandler"

    testEvent.AddCall "2"

    do! child

    testEvent.AddCall "3"

}

|> Async.runWithTimeout 300

|> _equal None



testEvent.Calls

|> Seq.toList

|> _equal [[ "1"; "AddHandler"; "2"; "RemoveHandler" ]]



╭─[ 510.09ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 300                       │

│ <null>                                                                       │

│ [ 1, AddHandler, 2, RemoveHandler ]                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let testEvent = TestEvent ()



async {

    testEvent.AddCall "1"

    let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild

    do! testEvent.WaitCall "AddHandler"

    testEvent.AddCall "2"

    use _ = testEvent.EventInterface.Subscribe (fun args ->

        testEvent.AddCall $"testEvent.EventInterface.Subscribe({args})"

    )

    testEvent.AddCall "3"

    do! child

    testEvent.AddCall "4"

}

|> Async.runWithTimeout 300

|> _equal None



testEvent.Calls

|> _equal [[ "1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3"; 

"RemoveHandler"; "IObservable.Dispose" ]]



╭─[ 459.07ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 300                       │

│ <null>                                                                       │

│ [ 1, AddHandler, 2, IObservable.Subscribe, 3, RemoveHandler,                 │

│ IObservable.Dispose ]                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let testEvent = TestEvent ()



async {

    testEvent.AddCall "1"

    let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild

    do! testEvent.WaitCall "AddHandler"

    testEvent.AddCall "2"

    use _ = testEvent.EventInterface.Subscribe (fun args ->

        async {

            do! testEvent.WaitCall "TestEvent.Iter(0: System.Exception: error)"

            testEvent.AddCall 

$"testEvent.EventInterface.Subscribe({args.GetException () |> printException})"

        }

        |> Async.RunSynchronously

    )

    testEvent.AddCall "3"

    testEvent.Event.Trigger (null, ErrorEventArgs (Exception "error"))

    testEvent.AddCall "4"

    do! child

    testEvent.AddCall "5"

}

|> Async.runWithTimeout 300

|> _equal None



testEvent.Calls

|> _equal [[

    "1"

    "AddHandler"

    "2"

    "IObservable.Subscribe"

    "3"

    "TestEvent.Subscribe(System.Exception: error)"

    "TestEvent.Iter(0: System.Exception: error)"

    "testEvent.EventInterface.Subscribe(System.Exception: error)"

    "4"

    "RemoveHandler"

    "IObservable.Dispose"

]]



╭─[ 509.77ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:01 #3 [Debug] runWithTimeoutAsync / timeout: 300                       │

│ <null>                                                                       │

│ [ 1, AddHandler, 2, IObservable.Subscribe, 3,                                │

│ TestEvent.Subscribe(System.Exception: error), TestEvent.Iter(0:              │

│ System.Exception: error),                                                    │

│ testEvent.EventInterface.Subscribe(System.Exception: error), 4,              │

│ RemoveHandler, IObservable.Dispose ]                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let subscribeToken (token : System.Threading.CancellationToken) =

    let tcs = new System.Threading.Tasks.TaskCompletionSource ()

    System.Action tcs.SetResult |> token.Register |> ignore

    let start = System.DateTime.Now.Ticks

    FSharp.Control.AsyncSeq.unfoldAsync

        (fun () -> async {

            do! tcs.Task |> Async.AwaitTask

            return Some (System.DateTime.Now.Ticks - start, ())

        })

        ()



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let cts = new System.Threading.CancellationTokenSource ()



async {

    let! child =

        cts.Token

        |> subscribeToken

        |> FSharp.Control.AsyncSeq.tryFirst

        |> Async.StartChild



    do! Async.Sleep 100

    cts.Cancel ()

    return! child

}

|> Async.RunSynchronously

|> Option.get

|> _isGreaterThan 1000000



╭─[ 188.02ms - stdout ]────────────────────────────────────────────────────────╮

│ 1094817                                                                      │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook AsyncSeq.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 300346 bytes to AsyncSeq.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Common (Polyglot)                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

let nl = System.Environment.NewLine

let q = @""""



── fsharp ──────────────────────────────────────────────────────────────────────

let inline cons head tail = head :: tail



── fsharp ──────────────────────────────────────────────────────────────────────

module String =

    let inline contains (value : string) (input : string) =

        input.Contains value



    let inline endsWith (value : string) (input : string) =

        input.EndsWith value



    let inline padLeft totalWidth paddingChar (input : string) =

        input.PadLeft (totalWidth, paddingChar)



    let inline replace (oldValue : string) (newValue : string) (input : string) 

=

        input.Replace (oldValue, newValue)



    let inline split separator (input : string) =

        input.Split separator



    let inline splitString (separator : string array) (input : string) =

        input.Split (separator, System.StringSplitOptions.None)



    let inline startsWith (value : string) (input : string) =

        input.StartsWith value



    let inline substring startIndex length (input : string) =

        input.Substring (startIndex, length)



    let inline toLower (input : string) =

        input.ToLower ()



    let inline toUpper (input : string) =

        input.ToUpper ()



    let inline trim (input : string) =

        input.Trim ()

    

    let inline trimEnd (trimChars : char array) (input : string) =

        input.TrimEnd trimChars



    let inline trimStart (trimChars : char array) (input : string) =

        input.TrimStart trimChars



── fsharp ──────────────────────────────────────────────────────────────────────

type TicksGuid = System.Guid

type DateTimeGuid = System.Guid



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let testGuid = Guid "FEDCBA98-7654-3210-FEDC-BA9876543210"



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## dateTimeGuidFromDateTime                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline dateTimeGuidFromDateTime (guid: System.Guid) (dateTime: 

System.DateTime) =

    let guid = guid |> string

    let prefix = dateTime.ToString "yyyyMMdd-HHmm-ssff-ffff-f"

    DateTimeGuid $"{prefix}{guid.[[prefix.Length..]]}"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



dateTimeGuidFromDateTime testGuid DateTime.MinValue

|> _equal (DateTimeGuid "00010101-0000-0000-0000-0a9876543210")



╭─[ 77.04ms - stdout ]─────────────────────────────────────────────────────────╮

│ 00010101-0000-0000-0000-0a9876543210                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



dateTimeGuidFromDateTime testGuid DateTime.MaxValue

|> _equal (DateTimeGuid $"99991231-2359-5999-9999-9{(testGuid |> 

string).[[^10..]]}")



╭─[ 51.55ms - stdout ]─────────────────────────────────────────────────────────╮

│ 99991231-2359-5999-9999-9a9876543210                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



dateTimeGuidFromDateTime testGuid DateTime.UnixEpoch

|> _equal (DateTimeGuid $"19700101-0000-0000-0000-0{(testGuid |> 

string).[[^10..]]}")



╭─[ 36.21ms - stdout ]─────────────────────────────────────────────────────────╮

│ 19700101-0000-0000-0000-0a9876543210                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## dateTimeFromGuid                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline dateTimeFromGuid (dateTimeGuid: DateTimeGuid) =

    let dateTimeGuid = dateTimeGuid |> string

    System.DateTime.ParseExact (dateTimeGuid.[[..24]] |> String.replace "-" "", 

"yyyyMMddHHmmssfffffff", null)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



dateTimeFromGuid (DateTimeGuid "00010101-0000-0000-0000-0a9876543210")

|> _equal DateTime.MinValue



╭─[ 26.99ms - stdout ]─────────────────────────────────────────────────────────╮

│ 0001-01-01 00:00:00Z                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



dateTimeFromGuid (DateTimeGuid $"99991231-2359-5999-9999-9{(testGuid |> 

string).[[^10..]]}")

|> _equal DateTime.MaxValue



╭─[ 44.00ms - stdout ]─────────────────────────────────────────────────────────╮

│ 9999-12-31 23:59:59Z                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



dateTimeFromGuid (DateTimeGuid $"19700101-0000-0000-0000-0{(testGuid |> 

string).[[^10..]]}")

|> _equal DateTime.UnixEpoch



╭─[ 39.92ms - stdout ]─────────────────────────────────────────────────────────╮

│ 1970-01-01 00:00:00Z                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## ticksGuidFromTicks                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline ticksGuidFromTicks (guid: System.Guid) (ticks: int64) =

    let guid = guid |> string

    let ticks = ticks |> string |> String.padLeft 18 '0'

    TicksGuid 

$"{ticks.[[0..7]]}-{ticks.[[8..11]]}-{ticks.[[12..15]]}-{ticks.[[16..17]]}{guid.

[[21..]]}"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



ticksGuidFromTicks testGuid 0L

|> _equal (TicksGuid "00000000-0000-0000-00dc-ba9876543210")



╭─[ 39.05ms - stdout ]─────────────────────────────────────────────────────────╮

│ 00000000-0000-0000-00dc-ba9876543210                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



ticksGuidFromTicks testGuid 999999999999999999L

|> _equal (TicksGuid $"99999999-9999-9999-99dc-b{(testGuid |> 

string).[[^10..]]}")



╭─[ 47.91ms - stdout ]─────────────────────────────────────────────────────────╮

│ 99999999-9999-9999-99dc-ba9876543210                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## ticksFromGuid                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline ticksFromGuid (ticksGuid: DateTimeGuid) =

    let ticks = ticksGuid |> string

    int64 

$"{ticks.[[0..7]]}{ticks.[[9..12]]}{ticks.[[14..17]]}{ticks.[[19..20]]}"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



ticksFromGuid (TicksGuid "00000000-0000-0000-00dc-ba9876543210")

|> _equal 0L



╭─[ 36.05ms - stdout ]─────────────────────────────────────────────────────────╮

│ 0                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



ticksFromGuid (TicksGuid $"99999999-9999-9999-99{(testGuid |> 

string).[[^14..]]}")

|> _equal 999999999999999999L



╭─[ 42.44ms - stdout ]─────────────────────────────────────────────────────────╮

│ 999999999999999999                                                           │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## newGuidFromDateTime                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline newGuidFromDateTime (dateTime: System.DateTime) =

    let guid = System.Guid.NewGuid ()

    dateTimeGuidFromDateTime guid dateTime



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



newGuidFromDateTime System.DateTime.UtcNow

|> dateTimeFromGuid

|> fun dateTime -> (dateTime - System.DateTime.UtcNow).TotalSeconds |> int

|> _equal 0



╭─[ 72.63ms - stdout ]─────────────────────────────────────────────────────────╮

│ 0                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## newGuidFromTicks                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline newGuidFromTicks (ticks: int64) =

    let guid = System.Guid.NewGuid ()

    ticksGuidFromTicks guid ticks



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



newGuidFromTicks System.DateTime.UtcNow.Ticks

|> ticksFromGuid

|> fun ticks -> (ticks - System.DateTime.UtcNow.Ticks) / 100000L

|> _equal 0L



╭─[ 55.00ms - stdout ]─────────────────────────────────────────────────────────╮

│ 0                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## memoize                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline memoize fn =

    let result = lazy fn ()

    fun () -> result.Value



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable count = 0

let add =

    fun () -> count <- count + 1

    |> memoize



add ()

add ()

add ()



count

|> _equal 1



╭─[ 31.74ms - stdout ]─────────────────────────────────────────────────────────╮

│ 1                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## printException                                                            │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline printException (ex : System.Exception) =

    $"{ex.GetType ()}: {ex.Message}"



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



fun () -> failwith "test"

|> _throwsC (fun ex _ ->

    printException ex

    |> _equal "System.Exception: test"

)



╭─[ 55.63ms - stdout ]─────────────────────────────────────────────────────────╮

│ FSI_0034+it@3-1                                                              │

│ System.Exception: test                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## trace                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type TraceLevel =

    | Verbose

    | Debug

    | Info

    | Warning

    | Critical



let inline getLocals () = ""



let mutable traceEnabled = true

let mutable traceCount = 0

let mutable traceLevel = Verbose

let mutable traceDump = false



let private replStart =

#if INTERACTIVE

    fun () ->

        if System.Reflection.Assembly.GetEntryAssembly().GetName().Name = 

"dotnet-repl"

        then Some System.DateTime.Now.Ticks

        else None

    |> memoize

#else

    fun () -> None : int64 option

#endif



let rec trace level fn getLocals =

    if traceEnabled && level >= traceLevel then

        traceCount <- traceCount + 1

        let time =

#if CHAIN

            ""

#else

            match replStart () with

            | Some replStart ->

                let t = System.DateTime.Now.Ticks - replStart |> System.TimeSpan

                System.DateTime (1, 1, 1, t.Hours, t.Minutes, t.Seconds, 

t.Milliseconds, t.Microseconds)

            | None -> System.DateTime.Now

            |> fun dateTime ->

#if FABLE_COMPILER_RUST

                "hh:mm:ss"

#else

                "HH:mm:ss"

#endif

                |> dateTime.ToString

#endif

        let text =

            $"{time} #{traceCount} [[%A{level}]] %s{fn ()} / %s{getLocals ()}"

            |> String.trimStart [[||]]

            |> String.trimEnd [[| ' '; '/' |]]



        System.Console.WriteLine text

#if !CHAIN && !FABLE_COMPILER

        if traceDump then

            try

                let tmpPath = System.IO.Path.GetTempPath ()

                let logDir = System.IO.Path.Combine (tmpPath, "!polyglot")

                System.IO.Directory.CreateDirectory logDir |> ignore

                let logFile = System.IO.Path.Combine (logDir, 

$"{newGuidFromDateTime System.DateTime.Now}.txt")

                System.IO.File.WriteAllTextAsync (logFile, text) |> 

Async.AwaitTask |> Async.RunSynchronously

            with ex ->

                trace Critical (fun () -> $"trace / ex: {ex |> printException}")

getLocals

#endif



let inline withTrace enabled fn =

    let oldTraceEnabled = traceEnabled

    try

        traceEnabled <- enabled

        fn ()

    finally

        traceEnabled <- oldTraceEnabled



let inline withTraceEnabled fn =

    withTrace true fn



let inline withTraceDisabled fn =

    withTrace false fn



let inline withTraceLevel level fn =

    let oldTraceLevel = traceLevel

    try

        traceLevel <- level

        fn ()

    finally

        traceLevel <- oldTraceLevel



let inline withTraceDump dump fn =

    let oldTraceDump = traceDump

    try

        traceDump <- dump

        fn ()

    finally

        traceDump <- oldTraceDump



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



trace Debug (fun () -> "test") getLocals



╭─[ 33.10ms - stdout ]─────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] test                                                     │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## newDisposable                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline newDisposable fn =

    { new System.IDisposable with

        member _.Dispose () = fn ()

    }



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable newDisposableTest = 0

newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)

|> fun x -> x.Dispose ()

newDisposableTest |> _equal 1



╭─[ 21.91ms - stdout ]─────────────────────────────────────────────────────────╮

│ 1                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable newDisposableTest = 0

fun () -> task {

    use x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)

    ()

}

|> fun x -> x () |> Async.AwaitTask |> Async.RunSynchronously

newDisposableTest |> _equal 1



╭─[ 141.71ms - stdout ]────────────────────────────────────────────────────────╮

│ 1                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable newDisposableTest = 0

async {

    use x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)

    ()

}

|> Async.RunSynchronously

newDisposableTest |> _equal 1



╭─[ 39.81ms - stdout ]─────────────────────────────────────────────────────────╮

│ 1                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable newDisposableTest = 0

async {

    let x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)

    ()

}

|> Async.RunSynchronously

newDisposableTest |> _equal 0



╭─[ 49.69ms - stdout ]─────────────────────────────────────────────────────────╮

│ 0                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## retryFn                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline retryFn retries fn =

    let rec loop retry =

        try

            if retry < retries

            then fn () |> Some

            else None

        with ex ->

            let getLocals () = $"retry: {retry} / ex: {ex |> printException} / 

{getLocals ()}"

            trace Warning (fun () -> "retryFn") getLocals

            System.Threading.Thread.Sleep 1

            loop (retry + 1)

    loop 0



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable retryFnTest = 0

fun () ->

    retryFnTest <- retryFnTest + 1

    retryFnTest

|> retryFn 3

|> _equal (Some 1)



╭─[ 39.97ms - stdout ]─────────────────────────────────────────────────────────╮

│ FSharpOption<Int32>                                                          │

│       Value: 1                                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



fun () -> failwith "test"

|> retryFn 3

|> _equal None



╭─[ 72.94ms - stdout ]─────────────────────────────────────────────────────────╮

│ 00:00:00 #2 [Warning] retryFn / retry: 0 / ex: System.Exception: test        │

│ 00:00:00 #3 [Warning] retryFn / retry: 1 / ex: System.Exception: test        │

│ 00:00:00 #4 [Warning] retryFn / retry: 2 / ex: System.Exception: test        │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable retryFnTest = 0

fun () ->

    if retryFnTest >= 2

    then retryFnTest

    else

        retryFnTest <- retryFnTest + 1

        failwith "test"

|> retryFn 3

|> _equal (Some 2)



╭─[ 60.73ms - stdout ]─────────────────────────────────────────────────────────╮

│ 00:00:00 #5 [Warning] retryFn / retry: 0 / ex: System.Exception: test        │

│ 00:00:00 #6 [Warning] retryFn / retry: 1 / ex: System.Exception: test        │

│ FSharpOption<Int32>                                                          │

│       Value: 2                                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Common.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 347390 bytes to Common.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # CommonFSharp (Polyglot)                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## getUnionCaseName                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getUnionCaseName<'T> (x: 'T) =

    match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

    | case, _ -> case.Name



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



TraceLevel.Critical

|> getUnionCaseName

|> _equal (nameof TraceLevel.Critical)



╭─[ 88.51ms - stdout ]─────────────────────────────────────────────────────────╮

│ Critical                                                                     │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook CommonFSharp.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 274474 bytes to CommonFSharp.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Threading (Polyglot)                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## newDisposableToken                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline newDisposableToken (mergeToken: System.Threading.CancellationToken 

option) =

    let cts = new System.Threading.CancellationTokenSource ()

    let cts =

        match mergeToken with

        | None -> cts

        | Some mergeToken ->

            System.Threading.CancellationTokenSource.CreateLinkedTokenSource [[|

cts.Token; mergeToken |]]

    let disposable = newDisposable cts.Cancel

    cts.Token, disposable



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let mutable counter = 0



let inline run fn =

    let token, disposable = newDisposableToken None

    use _ = disposable

    fn token

    async {

        fn token

    }

    |> Async.Start



let inline fn (token : System.Threading.CancellationToken) =

    counter <- counter + (if token.IsCancellationRequested then 10 else 1)



async {

    run fn

    do! Async.Sleep 1

    return counter

}

|> Async.RunSynchronously

|> _equal 11



╭─[ 248.67ms - stdout ]────────────────────────────────────────────────────────╮

│ 11                                                                           │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Threading.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 277490 bytes to Threading.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Crypto (Polyglot)                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## hashText                                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let hashText (input : string) =

    use sha256 = System.Security.Cryptography.SHA256.Create ()

    input

    |> System.Text.Encoding.UTF8.GetBytes

    |> sha256.ComputeHash

    |> Array.map (fun b -> b.ToString "x2")

    |> String.concat ""



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



""

|> hashText

|> _equal "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"



╭─[ 71.07ms - stdout ]─────────────────────────────────────────────────────────╮

│ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



" "

|> hashText

|> _equal "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"



╭─[ 21.99ms - stdout ]─────────────────────────────────────────────────────────╮

│ 36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Crypto.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 276308 bytes to Crypto.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # FileSystem (Polyglot)                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Async.fs

#!import ../nbs/AsyncSeq.fs

#!import ../nbs/Runtime.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module AsyncSeq =



    open Common



    /// ## subscribeEvent



    let inline subscribeEvent (event: IEvent<'H, 'A>) map =

        let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

        System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

        |> FSharp.Control.AsyncSeq.ofObservableBuffered



    let subscribeToken (token : System.Threading.CancellationToken) =

        let tcs = new System.Threading.Tasks.TaskCompletionSource ()

        System.Action tcs.SetResult |> token.Register |> ignore

        let start = System.DateTime.Now.Ticks

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun (...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Operators                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

module Operators =

    let inline (</>) a b =

        System.IO.Path.Combine (a, b)



── fsharp ──────────────────────────────────────────────────────────────────────

open Operators



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## createTempDirectoryName                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline createTempDirectoryName () =

    let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name



    System.IO.Path.GetTempPath ()

    </> $"!{root}"

    </> string (newGuidFromDateTime System.DateTime.Now)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



createTempDirectoryName ()

|> _contains System.IO.Path.DirectorySeparatorChar



╭─[ 57.16ms - stdout ]─────────────────────────────────────────────────────────╮

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1450-5020-548af │

│ de0f6ca                                                                      │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## createTempDirectory                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline createTempDirectory () =

    let tempFolder = createTempDirectoryName ()

    let result = System.IO.Directory.CreateDirectory tempFolder



    let getLocals () =

        $"tempFolder: {tempFolder} / result: {({|

            Exists = result.Exists

            CreationTime = result.CreationTime

        |})} {getLocals ()}"



    trace Debug (fun () -> "createTempDirectory") getLocals



    tempFolder



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempDirectory = createTempDirectory ()



Directory.Exists tempDirectory

|> _equal true



╭─[ 78.28ms - stdout ]─────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder:                        │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1464-6442-68ce7 │

│ 3ac7c4a / result: { CreationTime = 2023-10-08 11:10:14 PM                    │

│   Exists = true }                                                            │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## getSourceDirectory                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let getSourceDirectory =

    fun () -> __SOURCE_DIRECTORY__

    |> memoize



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



getSourceDirectory ()

|> System.IO.DirectoryInfo

|> fun dir -> dir.Name

|> _equal "nbs"



╭─[ 35.75ms - stdout ]─────────────────────────────────────────────────────────╮

│ nbs                                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## findParent                                                                │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline findParent name isFile rootDir =

    let rec loop dir =

        if dir </> name |> (if isFile then System.IO.File.Exists else 

System.IO.Directory.Exists)

        then dir

        else

            dir

            |> System.IO.Directory.GetParent

            |> function

                | null -> failwith $"""No parent for {if isFile then "file" else

"dir"} '{name}' at '{rootDir}'"""

                | parent -> parent.FullName |> loop

    loop rootDir



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



getSourceDirectory () |> findParent ".paket" false

|> System.IO.DirectoryInfo

|> fun dir -> dir.Name

|> _equal "polyglot"



╭─[ 29.51ms - stdout ]─────────────────────────────────────────────────────────╮

│ polyglot                                                                     │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



getSourceDirectory () |> findParent "paket.dependencies" true

|> System.IO.DirectoryInfo

|> fun dir -> dir.Name

|> _equal "polyglot"



╭─[ 24.47ms - stdout ]─────────────────────────────────────────────────────────╮

│ polyglot                                                                     │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## readAllTextAsync                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline readAllTextAsync path =

    path |> System.IO.File.ReadAllTextAsync |> Async.AwaitTask



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## fileExistsContent                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline fileExistsContent path content = async {

    if path |> System.IO.File.Exists |> not

    then return false

    else

        let! existingContent = path |> readAllTextAsync

        return content = existingContent

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## writeAllTextAsync                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline writeAllTextAsync path contents =

    System.IO.File.WriteAllTextAsync (path, contents) |> Async.AwaitTask



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## writeAllTextExists                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline writeAllTextExists path contents = async {

    let! exists = contents |> fileExistsContent path

    if not exists

    then do! contents |> writeAllTextAsync path

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## waitForFileAccess                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline waitForFileAccess access path =

    let fileAccess, fileShare =

        access

        |> Option.defaultValue (System.IO.FileAccess.ReadWrite, 

System.IO.FileShare.Read)



    let rec loop retry = async {

        try

            use _ = new System.IO.FileStream (

                path,

                System.IO.FileMode.Open,

                fileAccess,

                fileShare

            )

            return retry

        with ex ->

            if retry % 100 = 0 then

                let getLocals () = $"path: {path} / ex: {ex |> printException} /

{getLocals ()}"

                trace Debug (fun () -> "waitForFileAccess") getLocals

            do! Async.Sleep 10

            return! loop (retry + 1)

    }

    loop 0



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = createTempDirectory ()

let path = tempFolder </> "test.txt"



let inline lockFile () = async {

    trace Debug (fun () -> "_1") getLocals

    use stream = new System.IO.FileStream (

        path,

        System.IO.FileMode.Open,

        System.IO.FileAccess.ReadWrite,

        System.IO.FileShare.None

    )

    trace Debug (fun () -> "_2") getLocals

    do! Async.Sleep 2000

    trace Debug (fun () -> "_3") getLocals

    stream.Seek (0L, SeekOrigin.Begin) |> ignore

    trace Debug (fun () -> "_4") getLocals

    stream.WriteByte 49uy

    trace Debug (fun () -> "_5") getLocals

    stream.Flush ()

    trace Debug (fun () -> "_6") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    do! "0" |> writeAllTextAsync path

    trace Debug (fun () -> "2") getLocals

    let! child = lockFile () |> Async.StartChild

    trace Debug (fun () -> "3") getLocals

    do! Async.Sleep 1

    trace Debug (fun () -> "4") getLocals

    let! retries = path |> waitForFileAccess None

    trace Debug (fun () -> "5") getLocals

    let! text = path |> readAllTextAsync

    trace Debug (fun () -> "6") getLocals

    do! child

    trace Debug (fun () -> "7") getLocals

    return retries, text

}

|> Async.runWithTimeout 3000

|> function

    | Some (retries, text) ->

        retries

        |> _isBetween

            (if Runtime.isWindows () then 100 else 100)

            (if Runtime.isWindows () then 150 else 200)

        

        text |> _equal "1"

        

        true

    | _ -> false

|> _equal true



╭─[ 2.45s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:00 #2 [Debug] createTempDirectory / tempFolder:                        │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-42611 │

│ 4067616 / result: { CreationTime = 2023-10-08 11:10:15 PM                    │

│   Exists = true }                                                            │

│ 00:00:00 #3 [Debug] 1                                                        │

│ 00:00:00 #4 [Debug] 2                                                        │

│ 00:00:00 #5 [Debug] _1                                                       │

│ 00:00:00 #6 [Debug] 3                                                        │

│ 00:00:00 #7 [Debug] _2                                                       │

│ 00:00:00 #8 [Debug] 4                                                        │

│ 00:00:00 #9 [Debug] waitForFileAccess / path:                                │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-42611 │

│ 4067616\test.txt / ex: System.IO.IOException: The process cannot access the  │

│ file                                                                         │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-4261 │

│ 14067616\test.txt' because it is being used by another process.              │

│ 00:00:02 #10 [Debug] waitForFileAccess / path:                               │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-42611 │

│ 4067616\test.txt / ex: System.IO.IOException: The process cannot access the  │

│ file                                                                         │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-4261 │

│ 14067616\test.txt' because it is being used by another process.              │

│ 00:00:02 #11 [Debug] _3                                                      │

│ 00:00:02 #12 [Debug] _4                                                      │

│ 00:00:02 #13 [Debug] _5                                                      │

│ 00:00:02 #14 [Debug] _6                                                      │

│ 00:00:02 #15 [Debug] 5                                                       │

│ 00:00:02 #16 [Debug] 6                                                       │

│ 00:00:02 #17 [Debug] 7                                                       │

│ 128                                                                          │

│ 128                                                                          │

│ 128                                                                          │

│ 1                                                                            │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## deleteDirectoryAsync                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline deleteDirectoryAsync path =

    let rec loop retry = async {

        try

            System.IO.Directory.Delete (path, true)

            return retry

        with ex ->

            if retry % 100 = 0 then

                let getLocals () = $"path: {path} / ex: {ex |> printException} /

{getLocals ()}"

                trace Debug (fun () -> "deleteDirectoryAsync") getLocals

            do! Async.Sleep 10

            return! loop (retry + 1)

    }

    loop 0



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = createTempDirectory ()

let path = tempFolder </> "test"



let inline lockDirectory () = async {

    trace Debug (fun () -> "_1") getLocals

    System.IO.File.WriteAllText (path </> "test.txt", "0")

    use _ = new System.IO.FileStream (

        path </> "test.txt",

        System.IO.FileMode.Open,

        System.IO.FileAccess.ReadWrite,

        System.IO.FileShare.None

    )

    trace Debug (fun () -> "_2") getLocals

    do! Async.Sleep 2000

    trace Debug (fun () -> "_3") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    Directory.CreateDirectory path |> ignore

    trace Debug (fun () -> "2") getLocals

    let! child = lockDirectory () |> Async.StartChild

    trace Debug (fun () -> "3") getLocals

    do! Async.Sleep 60

    trace Debug (fun () -> "4") getLocals

    let! retries = deleteDirectoryAsync path

    trace Debug (fun () -> "5") getLocals

    do! child

    trace Debug (fun () -> "6") getLocals

    return retries

}

|> Async.runWithTimeout 3000

|> function

    | Some retries ->

        retries

        |> _isBetween

            (if Runtime.isWindows () then 100 else 0)

            (if Runtime.isWindows () then 150 else 0)



        true

    | _ -> false

|> _equal true



╭─[ 2.36s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:03 #18 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1789-8990-80542 │

│ 6275b6a / result: { CreationTime = 2023-10-08 11:10:17 PM                    │

│   Exists = true }                                                            │

│ 00:00:03 #19 [Debug] 1                                                       │

│ 00:00:03 #20 [Debug] 2                                                       │

│ 00:00:03 #21 [Debug] 3                                                       │

│ 00:00:03 #22 [Debug] _1                                                      │

│ 00:00:03 #23 [Debug] _2                                                      │

│ 00:00:03 #24 [Debug] 4                                                       │

│ 00:00:03 #25 [Debug] deleteDirectoryAsync / path:                            │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1789-8990-80542 │

│ 6275b6a\test / ex: System.IO.IOException: The process cannot access the file │

│ 'test.txt' because it is being used by another process.                      │

│ 00:00:04 #26 [Debug] deleteDirectoryAsync / path:                            │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1789-8990-80542 │

│ 6275b6a\test / ex: System.IO.IOException: The process cannot access the file │

│ 'test.txt' because it is being used by another process.                      │

│ 00:00:05 #27 [Debug] _3                                                      │

│ 00:00:05 #28 [Debug] 5                                                       │

│ 00:00:05 #29 [Debug] 6                                                       │

│ 125                                                                          │

│ 125                                                                          │

│ 125                                                                          │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## deleteFileAsync                                                           │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline deleteFileAsync path =

    let rec loop retry = async {

        try

            System.IO.File.Delete path

            return retry

        with ex ->

            if retry % 100 = 0 then

                let getLocals () = $"path: {path} / ex: {ex |> printException} /

{getLocals ()}"

                trace Warning (fun () -> "deleteFileAsync") getLocals

            do! Async.Sleep 10

            return! loop (retry + 1)

    }

    loop 0



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = createTempDirectory ()

let path = tempFolder </> "test.txt"



let inline lockFile () = async {

    trace Debug (fun () -> "_1") getLocals

    use _ = new System.IO.FileStream (

        path,

        System.IO.FileMode.Open,

        System.IO.FileAccess.ReadWrite,

        System.IO.FileShare.None

    )

    trace Debug (fun () -> "_2") getLocals

    do! Async.Sleep 2000

    trace Debug (fun () -> "_3") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    do! "0" |> writeAllTextAsync path

    trace Debug (fun () -> "2") getLocals

    let! child = lockFile () |> Async.StartChild

    trace Debug (fun () -> "3") getLocals

    do! Async.Sleep 1

    trace Debug (fun () -> "4") getLocals

    let! retries = deleteFileAsync path

    trace Debug (fun () -> "5") getLocals

    do! child

    trace Debug (fun () -> "6") getLocals

    return retries

}

|> Async.runWithTimeout 3000

|> function

    | Some retries ->

        retries

        |> _isBetween

            (if Runtime.isWindows () then 100 else 0)

            (if Runtime.isWindows () then 150 else 0)



        true

    | _ -> false

|> _equal true



╭─[ 2.26s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:05 #30 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c0 │

│ d82e3f3 / result: { CreationTime = 2023-10-08 11:10:20 PM                    │

│   Exists = true }                                                            │

│ 00:00:05 #31 [Debug] 1                                                       │

│ 00:00:05 #32 [Debug] 2                                                       │

│ 00:00:05 #33 [Debug] 3                                                       │

│ 00:00:05 #34 [Debug] _1                                                      │

│ 00:00:05 #35 [Debug] _2                                                      │

│ 00:00:05 #36 [Debug] 4                                                       │

│ 00:00:05 #37 [Warning] deleteFileAsync / path:                               │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c0 │

│ d82e3f3\test.txt / ex: System.IO.IOException: The process cannot access the  │

│ file                                                                         │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c │

│ 0d82e3f3\test.txt' because it is being used by another process.              │

│ 00:00:07 #38 [Warning] deleteFileAsync / path:                               │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c0 │

│ d82e3f3\test.txt / ex: System.IO.IOException: The process cannot access the  │

│ file                                                                         │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c │

│ 0d82e3f3\test.txt' because it is being used by another process.              │

│ 00:00:07 #39 [Debug] _3                                                      │

│ 00:00:07 #40 [Debug] 5                                                       │

│ 00:00:07 #41 [Debug] 6                                                       │

│ 128                                                                          │

│ 128                                                                          │

│ 128                                                                          │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## moveFileAsync                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline moveFileAsync newPath oldPath =

    let rec loop retry = async {

        try

            System.IO.File.Move (oldPath, newPath)

            return retry

        with ex ->

            if retry % 100 = 0 then

                let getLocals () =

                    $"oldPath: {oldPath} / newPath: {newPath} / ex: {ex |> 

printException} / {getLocals ()}"

                trace Warning (fun () -> "moveFileAsync") getLocals

            do! Async.Sleep 10

            return! loop (retry + 1)

    }

    loop 0



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = createTempDirectory ()

let path = tempFolder </> "test.txt"

let newPath = tempFolder </> "test2.txt"



let inline lockFile () = async {

    trace Debug (fun () -> "_1") getLocals

    use _ = new System.IO.FileStream (

        path,

        System.IO.FileMode.Open,

        System.IO.FileAccess.ReadWrite,

        System.IO.FileShare.None

    )

    trace Debug (fun () -> "_2") getLocals

    do! Async.Sleep 2000

    trace Debug (fun () -> "_3") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    do! "0" |> writeAllTextAsync path

    trace Debug (fun () -> "2") getLocals

    let! child = lockFile () |> Async.StartChild

    trace Debug (fun () -> "3") getLocals

    do! Async.Sleep 1

    trace Debug (fun () -> "4") getLocals

    let! retries1 = path |> moveFileAsync newPath

    trace Debug (fun () -> "5") getLocals

    let! retries2 = newPath |> waitForFileAccess None

    trace Debug (fun () -> "6") getLocals

    let! text = newPath |> readAllTextAsync

    trace Debug (fun () -> "7") getLocals

    do! child

    trace Debug (fun () -> "8") getLocals

    return retries1, retries2, text

}

|> Async.runWithTimeout 3000

|> function

    | Some (retries1, retries2, text) ->

        retries1

        |> _isBetween

            (if Runtime.isWindows () then 100 else 0)

            (if Runtime.isWindows () then 150 else 0)



        retries2

        |> _isBetween

            (if Runtime.isWindows () then 0 else 100)

            (if Runtime.isWindows () then 0 else 200)

        

        text |> _equal "0"

        

        true

    | _ -> false

|> _equal true



╭─[ 2.44s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:08 #42 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │

│ fec2b04 / result: { CreationTime = 2023-10-08 11:10:22 PM                    │

│   Exists = true }                                                            │

│ 00:00:08 #43 [Debug] 1                                                       │

│ 00:00:08 #44 [Debug] 2                                                       │

│ 00:00:08 #45 [Debug] 3                                                       │

│ 00:00:08 #46 [Debug] _1                                                      │

│ 00:00:08 #47 [Debug] _2                                                      │

│ 00:00:08 #48 [Debug] 4                                                       │

│ 00:00:08 #49 [Warning] moveFileAsync / oldPath:                              │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │

│ fec2b04\test.txt / newPath:                                                  │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │

│ fec2b04\test2.txt / ex: System.IO.IOException: The process cannot access the │

│ file because it is being used by another process.                            │

│ 00:00:09 #50 [Warning] moveFileAsync / oldPath:                              │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │

│ fec2b04\test.txt / newPath:                                                  │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │

│ fec2b04\test2.txt / ex: System.IO.IOException: The process cannot access the │

│ file because it is being used by another process.                            │

│ 00:00:10 #51 [Debug] _3                                                      │

│ 00:00:10 #52 [Debug] 5                                                       │

│ 00:00:10 #53 [Debug] 6                                                       │

│ 00:00:10 #54 [Debug] 7                                                       │

│ 00:00:10 #55 [Debug] 8                                                       │

│ 128                                                                          │

│ 128                                                                          │

│ 128                                                                          │

│ 0                                                                            │

│ 0                                                                            │

│ 0                                                                            │

│ 0                                                                            │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## watchDirectory                                                            │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

[[<RequireQualifiedAccess>]]

type FileSystemChangeType =

    | Failure

    | Changed

    | Created

    | Deleted

    | Renamed



[[<RequireQualifiedAccess>]]

type FileSystemChange =

    | Failure of exn: exn

    | Changed of path: string * content: string option

    | Created of path: string * content: string option

    | Deleted of path: string

    | Renamed of oldPath: string * (string * string option)





let inline watchDirectoryWithFilter filter shouldReadContent path =

    let fullPath = path |> System.IO.Path.GetFullPath

    let getLocals () = $"fullPath: {fullPath} / filter: {filter} / {getLocals 

()}"



    let watcher =

        new System.IO.FileSystemWatcher (

            Path = fullPath,

            NotifyFilter = filter,

            EnableRaisingEvents = true,

            IncludeSubdirectories = true

        )



    let inline getEventPath (path : string) =

        path |> String.trim |> String.replace fullPath "" |> String.trimStart 

[[| '/'; '\\' |]]



    let inline ticks () =

        System.DateTime.UtcNow.Ticks



    let changedStream =

        AsyncSeq.subscribeEvent

            watcher.Changed

            (fun event ->

                ticks (),

                [[ FileSystemChange.Changed (getEventPath event.FullPath, None) 

]]

            )



    let deletedStream =

        AsyncSeq.subscribeEvent

            watcher.Deleted

            (fun event ->

                ticks (),

                [[ FileSystemChange.Deleted (getEventPath event.FullPath) ]]

            )



    let createdStream =

        AsyncSeq.subscribeEvent

            watcher.Created

            (fun event ->

                let path = getEventPath event.FullPath

                ticks (), [[

                    FileSystemChange.Created (path, None)

                    if Runtime.isWindows () then

                        FileSystemChange.Changed (path, None)

                ]])



    let renamedStream =

        AsyncSeq.subscribeEvent

            watcher.Renamed

            (fun event ->

                ticks (), [[

                    FileSystemChange.Renamed (

                        getEventPath event.OldFullPath,

                        (getEventPath event.FullPath, None)

                    )

                ]]

            )



    let failureStream =

        AsyncSeq.subscribeEvent

            watcher.Error

            (fun event -> ticks (), [[ FileSystemChange.Failure 

(event.GetException ()) ]])



    let inline readContent fullPath =

        let rec loop retry = async {

            try

                if retry > 0

                then do!

                    fullPath

                    |> waitForFileAccess (Some (

                        System.IO.FileAccess.Read,

                        System.IO.FileShare.Read

                    ))

                    |> Async.runWithTimeoutAsync 10000

                    |> Async.Ignore

                return! fullPath |> readAllTextAsync |> Async.map Some

            with ex ->

                let getLocals () = $"retry: {retry} / ex: {ex |> printException}

/ {getLocals ()}"

                trace Debug (fun () -> $"watchWithFilter / readContent") 

getLocals

                if retry = 0

                then return! loop (retry + 1)

                else return None

        }

        loop 0



    let stream =

        [[

            changedStream

            deletedStream

            createdStream

            renamedStream

            failureStream

        ]]

        |> FSharp.Control.AsyncSeq.mergeAll

        |> FSharp.Control.AsyncSeq.map (fun (t, events) ->

            events

            |> List.fold

                (fun (i, events) event ->

                    i + 1L,

                    (t + i, event) :: events)

                (0L, [[]])

            |> snd

            |> List.rev

        )

        |> FSharp.Control.AsyncSeq.concatSeq

        |> FSharp.Control.AsyncSeq.mapAsyncParallel (fun (t, event) -> async {

            match shouldReadContent, event with

            | true, FileSystemChange.Changed (path, _) ->

                do! Async.Sleep 1

                let! content = fullPath </> path |> readContent

                return t, FileSystemChange.Changed (path, content)

            | true, FileSystemChange.Created (path, _) ->

                do! Async.Sleep 1

                let! content = fullPath </> path |> readContent

                return t, FileSystemChange.Created (path, content)

            | true, FileSystemChange.Renamed (oldPath, (newPath, _)) ->

                let! content = fullPath </> newPath |> readContent

                return t, FileSystemChange.Renamed (oldPath, (newPath, content))

            | _ -> return t, event

        })



    let disposable =

        newDisposable (fun () ->

            trace Debug (fun () -> "watchWithFilter / Disposing watch stream") 

getLocals

            watcher.EnableRaisingEvents <- false

            watcher.Dispose ()

        )



    stream, disposable



let inline watchDirectory path =

    watchDirectoryWithFilter

        (System.IO.NotifyFilters.FileName

        // ||| System.IO.NotifyFilters.DirectoryName

        // ||| System.IO.NotifyFilters.Attributes

        //// ||| System.IO.NotifyFilters.Size

        ||| System.IO.NotifyFilters.LastWrite

        //// ||| System.IO.NotifyFilters.LastAccess

        // ||| System.IO.NotifyFilters.CreationTime

        // ||| System.IO.NotifyFilters.Security

        )

        path



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### testEventsRaw (test)                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline testEventsRaw

    (watchFn : bool -> string -> FSharp.Control.AsyncSeq<int64 * 

FileSystemChange> * IDisposable)

    write

    =

    let tempDirectory = createTempDirectory ()

    let stream, disposable = watchFn true tempDirectory



    let events = System.Collections.Concurrent.ConcurrentBag ()



    let inline iter () =

        stream

        |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async { 

events.Add event })



    let run = async {

        let! _ = iter () |> Async.StartChild

        do! Async.Sleep 250

        return! write tempDirectory

    }



    try

        run

        |> Async.runWithTimeout 60000

        |> _equal (Some ())

    finally

        disposable.Dispose ()

        deleteDirectoryAsync tempDirectory |> Async.Ignore |> 

Async.RunSynchronously



    let eventsLog =

        events

        |> Seq.toList

        |> List.sortBy fst

        |> List.fold

            (fun (prev, acc) (ticks, event) ->

                ticks, (ticks, (if prev = 0L then 0L else ticks - prev), event) 

:: acc

            )

            (0L, [[]])

        |> snd

        |> List.rev

        |> List.map (fun (diff, n, event) ->

            let text = $"{n} / {diff} / {event}"

            if text |> String.length <= 100

            then text

            else text |> String.substring 0 100 |> String.replace "\n" ""

        )

        |> String.concat "\n"

    let getLocals () = $"eventsLog: \n{eventsLog} / {getLocals ()}"

    trace Debug (fun () -> "testEventsRaw") getLocals



    events

    |> Seq.toList

    |> List.sortBy fst

    |> List.map snd

    |> List.fold

        (fun acc event ->

            match acc, event with

            | FileSystemChange.Changed (lastPath, Some lastContent) as lastEvent

:: acc,

                FileSystemChange.Changed (path, Some content)

                when lastPath = path && content |> String.startsWith lastContent

                ->

                event :: acc

            | _ -> event :: acc

        )

        [[]]

    |> List.rev



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ #### fast (test)                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline write path = async {

    let n = 2



    for i = 1 to n do

        do! $"a{i}" |> writeAllTextAsync (path </> $"file{i}.txt")



    do! Async.Sleep 250



    for i = 1 to n do

        do! $"b{i}" |> writeAllTextAsync (path </> $"file{i}.txt")



    do! Async.Sleep 250



    for i = 1 to n do

        do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt") 

|> Async.Ignore



    do! Async.Sleep 250



    for i = 1 to n do

        do! $"c{i}" |> writeAllTextAsync (path </> $"file_{i}.txt")



    do! Async.Sleep 250



    for i = 1 to n do

        do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore



    do! Async.Sleep 250

}



let inline run () =

    let events = testEventsRaw watchDirectory write



    events

    |> _sequenceEqual [[

        FileSystemChange.Created ("file1.txt", Some "a1")

        FileSystemChange.Changed ("file1.txt", Some "a1")

        FileSystemChange.Created ("file2.txt", Some "a2")

        FileSystemChange.Changed ("file2.txt", Some "a2")



        FileSystemChange.Changed ("file1.txt", Some "b1")

        FileSystemChange.Changed ("file2.txt", Some "b2")



        FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "b1"))

        FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "b2"))



        FileSystemChange.Changed ("file_1.txt", Some "c1")

        FileSystemChange.Changed ("file_2.txt", Some "c2")



        FileSystemChange.Deleted "file_1.txt"

        FileSystemChange.Deleted "file_2.txt"

    ]]



run

|> retryFn 3

|> _equal (Some ())



╭─[ 5.68s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:16 #56 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3106-0670-0721c │

│ a40b17a / result: { CreationTime = 2023-10-08 11:10:31 PM                    │

│   Exists = true }                                                            │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│ 00:00:18 #57 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3106-0670-0721c │

│ a40b17a / filter: FileName, LastWrite                                        │

│ 00:00:18 #58 [Debug] testEventsRaw / eventsLog:                              │

│ 0 / 638324178313570174 / Created ("file1.txt", Some "a1")                    │

│ 1 / 638324178313570175 / Changed ("file1.txt", Some "a1")                    │

│ 38275 / 638324178313608450 / Changed ("file1.txt", Some "a1")                │

│ 1317 / 638324178313609767 / Created ("file2.txt", Some "a2")                 │

│ 1 / 638324178313609768 / Changed ("file2.txt", Some "a2")                    │

│ 81 / 638324178313609849 / Changed ("file2.txt", Some "a2")                   │

│ 2557128 / 638324178316166977 / Changed ("file1.txt", Some "b1")              │

│ 9123 / 638324178316176100 / Changed ("file1.txt", Some "b1")                 │

│ 12548 / 638324178316188648 / Changed ("file2.txt", Some "b2")                │

│ 2151 / 638324178316190799 / Changed ("file2.txt", Some "b2")                 │

│ 2661292 / 638324178318852091 / Renamed ("file1.txt", ("file_1.txt", Some     │

│ "b1"))                                                                       │

│ 5812 / 638324178318857903 / Renamed ("file2.txt", ("file_2.txt", Some "b2")) │

│ 2612480 / 638324178321470383 / Changed ("file_1.txt", Some "c1")             │

│ 1815 / 638324178321472198 / Changed ("file_1.txt", Some "c1")                │

│ 10084 / 638324178321482282 / Changed ("file_2.txt", Some "c2")               │

│ 1929 / 638324178321484211 / Changed ("file_2.txt", Some "c2")                │

│ 2642892 / 638324178324127103 / Deleted "file_1.txt"                          │

│ 3242 / 638324178324130345 / Deleted "file_2.txt"                             │

│ FSharpList<FileSystemChange>                                                 │

│       - path: file1.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: a1                                                          │

│       - path: file1.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: a1                                                          │

│       - path: file2.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: a2                                                          │

│       - path: file2.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: a2                                                          │

│       - path: file1.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: b1                                                          │

│       - path: file2.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: b2                                                          │

│       - oldPath: file1.txt                                                   │

│         Item2:         - file_1.txt                                          │

│         - FSharpOption<String>                                               │

│             Value: b1                                                        │

│       - oldPath: file2.txt                                                   │

│         Item2:         - file_2.txt                                          │

│         - FSharpOption<String>                                               │

│             Value: b2                                                        │

│       - path: file_1.txt                                                     │

│         content: FSharpOption<String>                                        │

│           Value: c1                                                          │

│       - path: file_2.txt                                                     │

│         content: FSharpOption<String>                                        │

│           Value: c2                                                          │

│       - path: file_1.txt                                                     │

│       - path: file_2.txt                                                     │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ #### slow (test)                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline write path = async {

    let n = 2



    let contents =

        [[ 1 .. n ]]

        |> List.map (string >> String.replicate 1_000_000)



    for i = 1 to n do

        do! $"{contents.[[i - 1]]}a" |> writeAllTextAsync (path </> 

$"file{i}.txt")



    do! Async.Sleep 1500



    for i = 1 to n do

        do! $"{contents.[[i - 1]]}b" |> writeAllTextAsync (path </> 

$"file{i}.txt")



    do! Async.Sleep 1500



    for i = 1 to n do

        do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt") 

|> Async.Ignore



    do! Async.Sleep 1500



    for i = 1 to n do

        do! $"{contents.[[i - 1]]}c" |> writeAllTextAsync (path </> 

$"file_{i}.txt")



    do! Async.Sleep 1500



    for i = 1 to n do

        do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore



    do! Async.Sleep 1500

}



let inline run () =

    let events =

        testEventsRaw watchDirectory write

        |> List.map (function

            | FileSystemChange.Changed (path, Some content) ->

                FileSystemChange.Changed (path, content |> Seq.distinct |> 

Seq.map string |> String.concat "" |> Some)

            | FileSystemChange.Created (path, Some content) ->

                FileSystemChange.Created (path, content |> Seq.distinct |> 

Seq.map string |> String.concat "" |> Some)

            | FileSystemChange.Renamed (oldPath, (newPath, Some content)) ->

                FileSystemChange.Renamed (

                    oldPath,

                    (newPath, content |> Seq.distinct |> Seq.map string |> 

String.concat "" |> Some)

                )

            | event -> event

        )



    events

    |> _sequenceEqual [[

        FileSystemChange.Created ("file1.txt", Some "1a")

        FileSystemChange.Changed ("file1.txt", Some "1a")

        FileSystemChange.Created ("file2.txt", Some "2a")

        FileSystemChange.Changed ("file2.txt", Some "2a")



        FileSystemChange.Changed ("file1.txt", Some "1b")

        FileSystemChange.Changed ("file2.txt", Some "2b")



        FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "1b"))

        FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "2b"))



        FileSystemChange.Changed ("file_1.txt", Some "1c")

        FileSystemChange.Changed ("file_2.txt", Some "2c")



        FileSystemChange.Deleted "file_1.txt"

        FileSystemChange.Deleted "file_2.txt"

    ]]



run

|> retryFn 5

|> _equal (Some ())



╭─[ 13.32s - stdout ]──────────────────────────────────────────────────────────╮

│ 00:00:23 #59 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │

│ 069dc66 / result: { CreationTime = 2023-10-08 11:10:37 PM                    │

│   Exists = true }                                                            │

│ 00:00:23 #61 [Debug] watchWithFilter / readContent / retry: 0 / ex:          │

│ System.AggregateException: One or more errors occurred. (The process cannot  │

│ access the file                                                              │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f2 │

│ 2069dc66\file2.txt' because it is being used by another process.) /          │

│ fullPath:                                                                    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │

│ 069dc66 / filter: FileName, LastWrite                                        │

│ 00:00:23 #61 [Debug] watchWithFilter / readContent / retry: 0 / ex:          │

│ System.AggregateException: One or more errors occurred. (The process cannot  │

│ access the file                                                              │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f2 │

│ 2069dc66\file2.txt' because it is being used by another process.) /          │

│ fullPath:                                                                    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │

│ 069dc66 / filter: FileName, LastWrite                                        │

│ 00:00:28 #62 [Debug] watchWithFilter / readContent / retry: 0 / ex:          │

│ System.AggregateException: One or more errors occurred. (The process cannot  │

│ access the file                                                              │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f2 │

│ 2069dc66\file_1.txt' because it is being used by another process.) /         │

│ fullPath:                                                                    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │

│ 069dc66 / filter: FileName, LastWrite                                        │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│ 00:00:31 #63 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │

│ 069dc66 / filter: FileName, LastWrite                                        │

│ 00:00:31 #64 [Debug] testEventsRaw / eventsLog:                              │

│ 0 / 638324178381071239 / Created  ("file1.txt",   Some                       │

│ "1111111111111111111111111111111111111                                       │

│ 1 / 638324178381071240 / Changed  ("file1.txt",   Some                       │

│ "1111111111111111111111111111111111111                                       │

│ 109612 / 638324178381180852 / Changed  ("file1.txt",   Some                  │

│ "11111111111111111111111111111111                                            │

│ 21063 / 638324178381201915 / Created  ("file2.txt",   Some                   │

│ "222222222222222222222222222222222                                           │

│ 1 / 638324178381201916 / Changed  ("file2.txt",   Some                       │

│ "2222222222222222222222222222222222222                                       │

│ 143308 / 638324178381345224 / Changed  ("file2.txt",   Some                  │

│ "22222222222222222222222222222222                                            │

│ 15063935 / 638324178396409159 / Changed  ("file1.txt",   Some                │

│ "111111111111111111111111111111                                              │

│ 77324 / 638324178396486483 / Changed  ("file1.txt",   Some                   │

│ "111111111111111111111111111111111                                           │

│ 41031 / 638324178396527514 / Changed  ("file2.txt",   Some                   │

│ "222222222222222222222222222222222                                           │

│ 82620 / 638324178396610134 / Changed  ("file2.txt",   Some                   │

│ "222222222222222222222222222222222                                           │

│ 15165443 / 638324178411775577 / Renamed  ("file1.txt",   ("file_1.txt",      │

│ Some      "1111111111                                                        │

│ 7374 / 638324178411782951 / Renamed  ("file2.txt",   ("file_2.txt",    Some  │

│ "22222222222222                                                              │

│ 15212893 / 638324178426995844 / Changed  ("file_1.txt",   Some               │

│ "11111111111111111111111111111                                               │

│ 77749 / 638324178427073593 / Changed  ("file_1.txt",   Some                  │

│ "11111111111111111111111111111111                                            │

│ 81008 / 638324178427154601 / Changed  ("file_2.txt",   Some                  │

│ "22222222222222222222222222222222                                            │

│ 61756 / 638324178427216357 / Changed  ("file_2.txt",   Some                  │

│ "22222222222222222222222222222222                                            │

│ 15130614 / 638324178442346971 / Deleted "file_1.txt"                         │

│ 8429 / 638324178442355400 / Deleted "file_2.txt"                             │

│ FSharpList<FileSystemChange>                                                 │

│       - path: file1.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: 1a                                                          │

│       - path: file1.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: 1a                                                          │

│       - path: file2.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: 2a                                                          │

│       - path: file2.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: 2a                                                          │

│       - path: file1.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: 1b                                                          │

│       - path: file2.txt                                                      │

│         content: FSharpOption<String>                                        │

│           Value: 2b                                                          │

│       - oldPath: file1.txt                                                   │

│         Item2:         - file_1.txt                                          │

│         - FSharpOption<String>                                               │

│             Value: 1b                                                        │

│       - oldPath: file2.txt                                                   │

│         Item2:         - file_2.txt                                          │

│         - FSharpOption<String>                                               │

│             Value: 2b                                                        │

│       - path: file_1.txt                                                     │

│         content: FSharpOption<String>                                        │

│           Value: 1c                                                          │

│       - path: file_2.txt                                                     │

│         content: FSharpOption<String>                                        │

│           Value: 2c                                                          │

│       - path: file_1.txt                                                     │

│       - path: file_2.txt                                                     │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ### testEventsSorted (test)                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline sortEvent event =

    match event with

    | FileSystemChange.Failure _ -> 0

    | FileSystemChange.Created _ -> 1

    | FileSystemChange.Changed _ -> 2

    | FileSystemChange.Renamed (_oldPath, _) -> 3

    | FileSystemChange.Deleted _ -> 4



let inline formatEvents events =

    events

    |> Seq.toList

    |> List.sortBy (snd >> sortEvent)

    |> List.choose (fun (ticks, event) ->

        match event with

        | FileSystemChange.Failure _ ->

            None

        | FileSystemChange.Changed (path, _) ->

            Some (ticks, System.IO.Path.GetFileName path, nameof 

FileSystemChangeType.Changed)

        | FileSystemChange.Created (path, _) ->

            Some (ticks, System.IO.Path.GetFileName path, nameof 

FileSystemChangeType.Created)

        | FileSystemChange.Deleted path ->

            Some (ticks, System.IO.Path.GetFileName path, nameof 

FileSystemChangeType.Deleted)

        | FileSystemChange.Renamed (_oldPath, (path, _)) ->

            Some (ticks, System.IO.Path.GetFileName path, nameof 

FileSystemChangeType.Renamed)

    )

    |> List.sortBy (fun (_, path, _) -> path)

    |> List.distinctBy (fun (_, path, event) -> path, event)



let inline testEventsSorted

    (watchFn : string -> FSharp.Control.AsyncSeq<int64 * FileSystemChange> * 

IDisposable)

    write

    =

    let path = createTempDirectory ()

    let stream, disposable = watchFn path



    let events = System.Collections.Concurrent.ConcurrentBag ()



    let inline iter () =

        stream

        |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async { 

events.Add event })



    let run = async {

        let! _ = iter () |> Async.StartChild

        do! Async.Sleep 250

        return! write path

    }



    try

        run

        |> Async.runWithTimeout 5000

        |> _equal (Some ())

    finally

        disposable.Dispose ()

        deleteDirectoryAsync path |> Async.Ignore |> Async.RunSynchronously



    let events = formatEvents events



    let eventMap =

        events

        |> List.map (fun (ticks, path, event) -> path, (event, ticks))

        |> List.groupBy fst

        |> List.map (fun (path, events) ->

            let event, _ticks =

                events

                |> List.map snd

                |> List.sortByDescending snd

                |> List.head



            path, event

        )

        |> Map.ofList



    let eventList =

        events

        |> List.map (fun (_ticks, path, event) -> path, event)



    eventMap, eventList



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ #### create and delete (test)                                                │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline write path = async {

    let n = 3



    for i = 1 to n do

        do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")



    for i = 1 to n do

        do! deleteFileAsync (path </> $"file{i}.txt") |> Async.Ignore

    

    do! Async.Sleep 150

}



let inline run () =

    let eventMap, eventList = testEventsSorted (watchDirectory false) write



    [[

        "file1.txt", nameof FileSystemChangeType.Created

        "file1.txt", nameof FileSystemChangeType.Changed

        "file1.txt", nameof FileSystemChangeType.Deleted



        "file2.txt", nameof FileSystemChangeType.Created

        "file2.txt", nameof FileSystemChangeType.Changed

        "file2.txt", nameof FileSystemChangeType.Deleted



        "file3.txt", nameof FileSystemChangeType.Created

        "file3.txt", nameof FileSystemChangeType.Changed

        "file3.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> _sequenceEqual eventList



    [[

        "file1.txt", nameof FileSystemChangeType.Deleted

        "file2.txt", nameof FileSystemChangeType.Deleted

        "file3.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> Map.ofList

    |> _sequenceEqual eventMap



run

|> retryFn 3

|> _equal (Some ())



╭─[ 2.46s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:33 #65 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-4863-6346-6f795 │

│ dd4a7e0 / result: { CreationTime = 2023-10-08 11:10:48 PM                    │

│   Exists = true }                                                            │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│ 00:00:34 #66 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-4863-6346-6f795 │

│ dd4a7e0 / filter: FileName, LastWrite                                        │

│ FSharpList<Tuple<String,String>>                                             │

│ ( file1.txt, Created )                                                       │

│ ( file1.txt, Changed )                                                       │

│ ( file1.txt, Deleted )                                                       │

│ ( file2.txt, Created )                                                       │

│ ( file2.txt, Changed )                                                       │

│ ( file2.txt, Deleted )                                                       │

│ ( file3.txt, Created )                                                       │

│ ( file3.txt, Changed )                                                       │

│ ( file3.txt, Deleted )                                                       │

│ FSharpMap<String,String>                                                     │

│       - Key: file1.txt                                                       │

│         Value: Deleted                                                       │

│       - Key: file2.txt                                                       │

│         Value: Deleted                                                       │

│       - Key: file3.txt                                                       │

│         Value: Deleted                                                       │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ #### change (test)                                                           │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline write path = async {

    let n = 2



    for i = 1 to n do

        do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")



    for i = 1 to n do

        do! "" |> writeAllTextAsync (path </> $"file{i}.txt")



    for i = 1 to n do

        do! deleteFileAsync (path </> $"file{i}.txt") |> Async.Ignore

    

    do! Async.Sleep 150

}



let inline run () =

    let eventMap, eventList = testEventsSorted (watchDirectory false) write



    [[

        "file1.txt", nameof FileSystemChangeType.Created

        "file1.txt", nameof FileSystemChangeType.Changed

        "file1.txt", nameof FileSystemChangeType.Deleted



        "file2.txt", nameof FileSystemChangeType.Created

        "file2.txt", nameof FileSystemChangeType.Changed

        "file2.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> _sequenceEqual eventList



    [[

        "file1.txt", nameof FileSystemChangeType.Deleted

        "file2.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> Map.ofList

    |> _sequenceEqual eventMap



run

|> retryFn 3

|> _equal (Some ())



╭─[ 2.91s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:36 #67 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5158-5881-5fe75 │

│ 9f83a73 / result: { CreationTime = 2023-10-08 11:10:51 PM                    │

│   Exists = true }                                                            │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│ 00:00:37 #68 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5158-5881-5fe75 │

│ 9f83a73 / filter: FileName, LastWrite                                        │

│ FSharpList<Tuple<String,String>>                                             │

│ ( file1.txt, Created )                                                       │

│ ( file1.txt, Changed )                                                       │

│ ( file1.txt, Deleted )                                                       │

│ ( file2.txt, Created )                                                       │

│ ( file2.txt, Changed )                                                       │

│ ( file2.txt, Deleted )                                                       │

│ FSharpMap<String,String>                                                     │

│       - Key: file1.txt                                                       │

│         Value: Deleted                                                       │

│       - Key: file2.txt                                                       │

│         Value: Deleted                                                       │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ #### rename (test)                                                           │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline write path = async {

    let n = 2



    for i = 1 to n do

        do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")



    for i = 1 to n do

        do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt") 

|> Async.Ignore



    for i = 1 to n do

        do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore

    

    do! Async.Sleep 150

}



let inline run () =

    let eventMap, eventList = testEventsSorted (watchDirectory false) write



    [[

        "file1.txt", nameof FileSystemChangeType.Created

        "file1.txt", nameof FileSystemChangeType.Changed

        "file2.txt", nameof FileSystemChangeType.Created

        "file2.txt", nameof FileSystemChangeType.Changed



        "file_1.txt", nameof FileSystemChangeType.Renamed

        "file_1.txt", nameof FileSystemChangeType.Deleted



        "file_2.txt", nameof FileSystemChangeType.Renamed

        "file_2.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> _sequenceEqual eventList



    [[

        "file1.txt", nameof FileSystemChangeType.Changed

        "file2.txt", nameof FileSystemChangeType.Changed

        "file_1.txt", nameof FileSystemChangeType.Deleted

        "file_2.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> Map.ofList

    |> _sequenceEqual eventMap



run

|> retryFn 3

|> _equal (Some ())



╭─[ 3.74s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:40 #69 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5532-3229-360d6 │

│ 4168ab1 / result: { CreationTime = 2023-10-08 11:10:55 PM                    │

│   Exists = true }                                                            │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│ 00:00:41 #70 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5532-3229-360d6 │

│ 4168ab1 / filter: FileName, LastWrite                                        │

│ FSharpList<Tuple<String,String>>                                             │

│ ( file1.txt, Created )                                                       │

│ ( file1.txt, Changed )                                                       │

│ ( file2.txt, Created )                                                       │

│ ( file2.txt, Changed )                                                       │

│ ( file_1.txt, Renamed )                                                      │

│ ( file_1.txt, Deleted )                                                      │

│ ( file_2.txt, Renamed )                                                      │

│ ( file_2.txt, Deleted )                                                      │

│ FSharpMap<String,String>                                                     │

│       - Key: file1.txt                                                       │

│         Value: Changed                                                       │

│       - Key: file2.txt                                                       │

│         Value: Changed                                                       │

│       - Key: file_1.txt                                                      │

│         Value: Deleted                                                       │

│       - Key: file_2.txt                                                      │

│         Value: Deleted                                                       │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ #### full (test)                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let inline write path = async {

    let n = 2



    for i = 1 to n do

        do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")



    for i = 1 to n do

        do! "" |> writeAllTextAsync (path </> $"file{i}.txt")



    for i = 1 to n do

        do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt") 

|> Async.Ignore



    for i = 1 to n do

        do! $"{i}" |> writeAllTextAsync (path </> $"file_{i}.txt")



    for i = 1 to n do

        do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore

    

    do! Async.Sleep 150

}



let inline run () =

    let eventMap, eventList = testEventsSorted (watchDirectory false) write



    [[

        "file1.txt", nameof FileSystemChangeType.Created

        "file1.txt", nameof FileSystemChangeType.Changed

        "file2.txt", nameof FileSystemChangeType.Created

        "file2.txt", nameof FileSystemChangeType.Changed



        "file_1.txt", nameof FileSystemChangeType.Changed

        "file_1.txt", nameof FileSystemChangeType.Renamed

        "file_1.txt", nameof FileSystemChangeType.Deleted



        "file_2.txt", nameof FileSystemChangeType.Changed

        "file_2.txt", nameof FileSystemChangeType.Renamed

        "file_2.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> _sequenceEqual eventList



    [[

        "file1.txt", nameof FileSystemChangeType.Changed

        "file2.txt", nameof FileSystemChangeType.Changed

        "file_1.txt", nameof FileSystemChangeType.Deleted

        "file_2.txt", nameof FileSystemChangeType.Deleted

    ]]

    |> Map.ofList

    |> _sequenceEqual eventMap



run

|> retryFn 3

|> _equal (Some ())



╭─[ 3.89s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:44 #71 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5924-2443-2e6ca │

│ 31dce73 / result: { CreationTime = 2023-10-08 11:10:59 PM                    │

│   Exists = true }                                                            │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│ 00:00:45 #72 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5924-2443-2e6ca │

│ 31dce73 / filter: FileName, LastWrite                                        │

│ FSharpList<Tuple<String,String>>                                             │

│ ( file1.txt, Created )                                                       │

│ ( file1.txt, Changed )                                                       │

│ ( file2.txt, Created )                                                       │

│ ( file2.txt, Changed )                                                       │

│ ( file_1.txt, Changed )                                                      │

│ ( file_1.txt, Renamed )                                                      │

│ ( file_1.txt, Deleted )                                                      │

│ ( file_2.txt, Changed )                                                      │

│ ( file_2.txt, Renamed )                                                      │

│ ( file_2.txt, Deleted )                                                      │

│ FSharpMap<String,String>                                                     │

│       - Key: file1.txt                                                       │

│         Value: Changed                                                       │

│       - Key: file2.txt                                                       │

│         Value: Changed                                                       │

│       - Key: file_1.txt                                                      │

│         Value: Deleted                                                       │

│       - Key: file_2.txt                                                      │

│         Value: Deleted                                                       │

│ FSharpOption<Unit>                                                           │

│       Value: <null>                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook FileSystem.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 467229 bytes to FileSystem.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Networking (Polyglot)                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Async.fs

#!import ../nbs/Runtime.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## testPortOpen                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline testPortOpen port = async {

    let! ct = Async.CancellationToken

    use client = new System.Net.Sockets.TcpClient ()

    try

        do! client.ConnectAsync ("127.0.0.1", port, ct) |> 

Async.awaitValueTaskUnit

        return true

    with ex ->

        trace Verbose (fun () -> $"testPortOpen / ex: {ex |> printException}") 

getLocals

        return false

}



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



testPortOpen 65536

|> Async.runWithTimeout 120

|> _equal (Some false)



╭─[ 200.38ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Verbose] testPortOpen / ex: System.ArgumentOutOfRangeException: │

│ Specified argument was out of the range of valid values. (Parameter 'port')  │

│ FSharpOption<Boolean>                                                        │

│       Value: False                                                           │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline testPortOpenTimeout timeout port = async {

    let! result =

        testPortOpen port

        |> Async.runWithTimeoutAsync timeout

    return

        match result with

        | None -> false

        | Some result -> result

}



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



testPortOpenTimeout 120 65535

|> Async.RunSynchronously

|> _equal false



╭─[ 258.15ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 120                       │

│ False                                                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## waitForPortAccess                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline waitForPortAccess timeout status port =

    let rec loop retry = async {

        let! isPortOpen =

            match timeout with

            | None -> testPortOpen port

            | Some timeout -> testPortOpenTimeout timeout port

        if isPortOpen = status

        then return retry

        else

            if retry % 100 = 0 then

                let getLocals () = $"port: {port} / retry: {retry} / {getLocals 

()}"

                trace Verbose (fun () -> "waitForPortAccess") getLocals

            do! Async.Sleep 10

            return! loop (retry + 1)

    }

    loop 0



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let port = 5000



let inline lockPort () = async {

    trace Debug (fun () -> "_1") getLocals

    do! Async.Sleep 5000

    use listener = new System.Net.Sockets.TcpListener 

(System.Net.IPAddress.Parse "127.0.0.1", port)

    trace Debug (fun () -> "_2") getLocals

    listener.Start ()

    trace Debug (fun () -> "_3") getLocals

    do! Async.Sleep 2000

    trace Debug (fun () -> "_4") getLocals

    listener.Stop ()

    trace Debug (fun () -> "_5") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    let! child = lockPort () |> Async.StartChild

    trace Debug (fun () -> "2") getLocals

    do! Async.Sleep 1

    trace Debug (fun () -> "3") getLocals

    let! retries1 = waitForPortAccess None true port

    trace Debug (fun () -> "4") getLocals

    let! retries2 = waitForPortAccess None false port

    trace Debug (fun () -> "5") getLocals

    do! child

    trace Debug (fun () -> "6") getLocals

    return retries1, retries2

}

|> Async.runWithTimeout 20000

|> function

    | Some (retries1, retries2) ->

        retries1

        |> _isBetween

            (if Runtime.isWindows () then 2 else 2)

            (if Runtime.isWindows () then 5 else 1500)



        retries2

        |> _isBetween

            (if Runtime.isWindows () then 80 else 80)

            (if Runtime.isWindows () then 150 else 600)



        true

    | _ -> false

|> _equal true



╭─[ 9.69s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:01 #3 [Debug] 1                                                        │

│ 00:00:01 #4 [Debug] _1                                                       │

│ 00:00:01 #5 [Debug] 2                                                        │

│ 00:00:01 #6 [Debug] 3                                                        │

│ 00:00:03 #7 [Verbose] testPortOpen / ex: System.AggregateException: One or   │

│ more errors occurred. (No connection could be made because the target        │

│ machine actively refused it.)                                                │

│ 00:00:03 #8 [Verbose] waitForPortAccess / port: 5000 / retry: 0              │

│ 00:00:05 #9 [Verbose] testPortOpen / ex: System.AggregateException: One or   │

│ more errors occurred. (No connection could be made because the target        │

│ machine actively refused it.)                                                │

│ 00:00:06 #10 [Debug] _2                                                      │

│ 00:00:06 #11 [Debug] _3                                                      │

│ 00:00:06 #12 [Debug] 4                                                       │

│ 00:00:06 #13 [Verbose] waitForPortAccess / port: 5000 / retry: 0             │

│ 00:00:07 #14 [Verbose] waitForPortAccess / port: 5000 / retry: 100           │

│ 00:00:08 #15 [Debug] _4                                                      │

│ 00:00:08 #16 [Debug] _5                                                      │

│ 00:00:10 #17 [Verbose] testPortOpen / ex: System.AggregateException: One or  │

│ more errors occurred. (No connection could be made because the target        │

│ machine actively refused it.)                                                │

│ 00:00:10 #18 [Debug] 5                                                       │

│ 00:00:10 #19 [Debug] 6                                                       │

│ 2                                                                            │

│ 2                                                                            │

│ 2                                                                            │

│ 120                                                                          │

│ 120                                                                          │

│ 120                                                                          │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let port = 5000



let inline lockPort () = async {

    trace Debug (fun () -> "_1") getLocals

    do! Async.Sleep 500

    use listener = new System.Net.Sockets.TcpListener 

(System.Net.IPAddress.Parse "127.0.0.1", port)

    trace Debug (fun () -> "_2") getLocals

    listener.Start ()

    trace Debug (fun () -> "_3") getLocals

    do! Async.Sleep 200

    trace Debug (fun () -> "_4") getLocals

    listener.Stop ()

    trace Debug (fun () -> "_5") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    let! child = lockPort () |> Async.StartChild

    trace Debug (fun () -> "2") getLocals

    do! Async.Sleep 1

    trace Debug (fun () -> "3") getLocals

    let! retries1 = waitForPortAccess (Some 60) true port

    trace Debug (fun () -> "4") getLocals

    let! retries2 = waitForPortAccess (Some 60) false port

    trace Debug (fun () -> "5") getLocals

    do! child

    trace Debug (fun () -> "6") getLocals

    return retries1, retries2

}

|> Async.runWithTimeout 2000

|> function

    | Some (retries1, retries2) ->

        retries1

        |> _isBetween

            (if Runtime.isWindows () then 4 else 2)

            (if Runtime.isWindows () then 15 else 150)



        retries2

        |> _isBetween

            (if Runtime.isWindows () then 5 else 0)

            (if Runtime.isWindows () then 20 else 60)



        true

    | _ -> false

|> _equal true



╭─[ 1.53s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:11 #20 [Debug] 1                                                       │

│ 00:00:11 #21 [Debug] 2                                                       │

│ 00:00:11 #22 [Debug] _1                                                      │

│ 00:00:11 #23 [Debug] 3                                                       │

│ 00:00:11 #24 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #25 [Verbose] waitForPortAccess / port: 5000 / retry: 0             │

│ 00:00:11 #26 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #27 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #28 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #29 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #30 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #31 [Debug] _2                                                      │

│ 00:00:11 #32 [Debug] _3                                                      │

│ 00:00:11 #33 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #34 [Debug] 4                                                       │

│ 00:00:11 #35 [Verbose] waitForPortAccess / port: 5000 / retry: 0             │

│ 00:00:11 #36 [Debug] _4                                                      │

│ 00:00:11 #37 [Debug] _5                                                      │

│ 00:00:11 #38 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:11 #39 [Debug] 5                                                       │

│ 00:00:11 #40 [Debug] 6                                                       │

│ 7                                                                            │

│ 7                                                                            │

│ 7                                                                            │

│ 9                                                                            │

│ 9                                                                            │

│ 9                                                                            │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## getAvailablePort                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getAvailablePort timeout initialPort =

    let rec loop port = async {

        let! isPortOpen =

            match timeout with

            | None -> testPortOpen port

            | Some timeout -> testPortOpenTimeout timeout port

        if not isPortOpen

        then return port

        else return! loop (port + 1)

    }

    loop initialPort



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let port = 5000



let inline lockPorts () = async {

    trace Debug (fun () -> "_1") getLocals

    use listener1 = new System.Net.Sockets.TcpListener 

(System.Net.IPAddress.Parse "127.0.0.1", port)

    use listener2 = new System.Net.Sockets.TcpListener 

(System.Net.IPAddress.Parse "127.0.0.1", port + 1)

    trace Debug (fun () -> "_2") getLocals

    listener1.Start ()

    listener2.Start ()

    trace Debug (fun () -> "_3") getLocals

    do! Async.Sleep 4000

    trace Debug (fun () -> "_4") getLocals

    listener1.Stop ()

    listener2.Stop ()

    trace Debug (fun () -> "_5") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    let! child = lockPorts () |> Async.StartChild

    trace Debug (fun () -> "2") getLocals

    do! Async.Sleep 180

    trace Debug (fun () -> "3") getLocals

    let! availablePort = getAvailablePort None port

    trace Debug (fun () -> "4") getLocals

    let! retries = waitForPortAccess None false port

    trace Debug (fun () -> "5") getLocals

    do! child

    trace Debug (fun () -> "6") getLocals

    return availablePort, retries

}

|> Async.runWithTimeout 15000

|> function

    | Some (availablePort, retries) ->

        availablePort |> _equal (port + 2)



        retries

        |> _isBetween

            (if Runtime.isWindows () then 100 else 100)

            (if Runtime.isWindows () then 150 else 1200)



        true

    | _ -> false

|> _equal true



╭─[ 6.50s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:12 #41 [Debug] 1                                                       │

│ 00:00:12 #42 [Debug] 2                                                       │

│ 00:00:12 #43 [Debug] _1                                                      │

│ 00:00:12 #44 [Debug] _2                                                      │

│ 00:00:12 #45 [Debug] _3                                                      │

│ 00:00:12 #46 [Debug] 3                                                       │

│ 00:00:14 #47 [Verbose] testPortOpen / ex: System.AggregateException: One or  │

│ more errors occurred. (No connection could be made because the target        │

│ machine actively refused it.)                                                │

│ 00:00:14 #48 [Debug] 4                                                       │

│ 00:00:14 #49 [Verbose] waitForPortAccess / port: 5000 / retry: 0             │

│ 00:00:16 #50 [Verbose] waitForPortAccess / port: 5000 / retry: 100           │

│ 00:00:16 #51 [Debug] _4                                                      │

│ 00:00:16 #52 [Debug] _5                                                      │

│ 00:00:18 #53 [Verbose] testPortOpen / ex: System.AggregateException: One or  │

│ more errors occurred. (No connection could be made because the target        │

│ machine actively refused it.)                                                │

│ 00:00:18 #54 [Debug] 5                                                       │

│ 00:00:18 #55 [Debug] 6                                                       │

│ 5002                                                                         │

│ 114                                                                          │

│ 114                                                                          │

│ 114                                                                          │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let port = 5000



let inline lockPorts () = async {

    trace Debug (fun () -> "_1") getLocals

    use listener1 = new System.Net.Sockets.TcpListener 

(System.Net.IPAddress.Parse "127.0.0.1", port)

    use listener2 = new System.Net.Sockets.TcpListener 

(System.Net.IPAddress.Parse "127.0.0.1", port + 1)

    trace Debug (fun () -> "_2") getLocals

    listener1.Start ()

    listener2.Start ()

    trace Debug (fun () -> "_3") getLocals

    do! Async.Sleep 400

    trace Debug (fun () -> "_4") getLocals

    listener1.Stop ()

    listener2.Stop ()

    trace Debug (fun () -> "_5") getLocals

}



async {

    trace Debug (fun () -> "1") getLocals

    let! child = lockPorts () |> Async.StartChild

    trace Debug (fun () -> "2") getLocals

    do! Async.Sleep 120

    trace Debug (fun () -> "3") getLocals

    let! availablePort = getAvailablePort (Some 60) port

    trace Debug (fun () -> "4") getLocals

    let! retries = waitForPortAccess (Some 60) false port

    trace Debug (fun () -> "5") getLocals

    do! child

    trace Debug (fun () -> "6") getLocals

    return availablePort, retries

}

|> Async.runWithTimeout 1500

|> function

    | Some (availablePort, retries) ->

        availablePort |> _equal (port + 2)



        retries

        |> _isBetween

            (if Runtime.isWindows () then 10 else 1)

            (if Runtime.isWindows () then 30 else 120)



        true

    | _ -> false

|> _equal true



╭─[ 1.09s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:19 #56 [Debug] 1                                                       │

│ 00:00:19 #57 [Debug] 2                                                       │

│ 00:00:19 #58 [Debug] _1                                                      │

│ 00:00:19 #59 [Debug] _2                                                      │

│ 00:00:19 #60 [Debug] _3                                                      │

│ 00:00:19 #61 [Debug] 3                                                       │

│ 00:00:19 #62 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:19 #63 [Debug] 4                                                       │

│ 00:00:19 #64 [Verbose] waitForPortAccess / port: 5000 / retry: 0             │

│ 00:00:19 #65 [Debug] _4                                                      │

│ 00:00:19 #66 [Debug] _5                                                      │

│ 00:00:19 #67 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:19 #68 [Debug] 5                                                       │

│ 00:00:19 #69 [Debug] 6                                                       │

│ 5002                                                                         │

│ 12                                                                           │

│ 12                                                                           │

│ 12                                                                           │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Networking.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 324050 bytes to Networking.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Runtime (Polyglot)                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Async.fs

#!import ../nbs/AsyncSeq.fs

#!import ../nbs/Runtime.fs

#!import ../nbs/FileSystem.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module AsyncSeq =



    open Common



    /// ## subscribeEvent



    let inline subscribeEvent (event: IEvent<'H, 'A>) map =

        let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

        System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

        |> FSharp.Control.AsyncSeq.ofObservableBuffered



    let subscribeToken (token : System.Threading.CancellationToken) =

        let tcs = new System.Threading.Tasks.TaskCompletionSource ()

        System.Action tcs.SetResult |> token.Register |> ignore

        let start = System.DateTime.Now.Ticks

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun (...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module FileSystem =



    open Common



    /// ## Operators



    module Operators =

        let inline (</>) a b =

            System.IO.Path.Combine (a, b)



    open Operators



    /// ## createTempDirectoryName



    let inline createTempDirectoryName () =

        let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name



        System.IO.Path.GetTempPath ()

        </> $"!{root}"

        </> string (newGuidFromDateTime System.DateTime.Now)



    /// ## createTempDirectory



    let inline createTempDirectory () =

        let tempFolder = createTempDirectoryName ()

        let result = System.IO.Directory.CreateDirectory tempFolder



        let getLocals () =

            $"tempFolder:...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



open FileSystem.Operators



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## isWindows                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let isWindows =

    fun () ->

        System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

            System.Runtime.InteropServices.OSPlatform.Windows

    |> memoize



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



isWindows ()



╭─[ 137.58ms - return value ]──────────────────────────────────────────────────╮

│ <div class="dni-plaintext"><pre>True</pre></div><style>                      │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## getExecutableSuffix                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getExecutableSuffix () =

    if isWindows ()

    then ".exe"

    else ""



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



getExecutableSuffix ()



╭─[ 18.26ms - return value ]───────────────────────────────────────────────────╮

│ .exe                                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## splitCommand                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type private CommandParseStep =

    | Start

    | Path of quoted: bool

    | Arguments



let splitCommand (command: string) =

    let rec loop (path, args) chars step =

        match chars, step with

        | ('"' | '\'') :: tail, _ when path = "" -> loop (path, args) tail (Path

true)

        | ('"' | '\'') :: tail, Path true -> loop (path, args) tail (Path false)

        | ' ' :: tail, Path true -> loop ($"{path} ", args) tail (Path true)

        | ' ' :: tail, (Start | Path _) -> loop (path, args) tail Arguments

        | char :: tail, Arguments -> loop (path, $"{args}{char}") tail Arguments

        | char :: tail, _ -> loop ($"{path}{char}", args) tail step

        | _, _ -> path |> String.replace @"\" "/", args

    loop ("", "") (command |> Seq.toList) Start



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



splitCommand ""

|> _equal ("", "")



splitCommand "/a/b/c"

|> _equal ("/a/b/c", "")



splitCommand "cat file.txt"

|> _equal ("cat", "file.txt")



splitCommand """..\..\file.exe file1.txt file2.txt"""

|> _equal ("../../file.exe", "file1.txt file2.txt")



splitCommand @"c:\dir\file.exe ""file1.txt file2.txt"""

|> _equal ("c:/dir/file.exe", @"""file1.txt file2.txt""")



splitCommand @"""..\..\dir name\file.exe"" ""file 1.txt"" file2.txt"

|> _equal ("../../dir name/file.exe", @"""file 1.txt"" file2.txt")



splitCommand @"""..\..\file 1.exe"" -c \\""echo 1\\"""

|> _equal ("../../file 1.exe", @"-c \\""echo 1\\""")



splitCommand @"..\..\file 1.exe -c \\""echo 1\\"""

|> _equal ("../../file", @"1.exe -c \\""echo 1\\""")



╭─[ 129.46ms - stdout ]────────────────────────────────────────────────────────╮

│ ( ,  )                                                                       │

│ ( /a/b/c,  )                                                                 │

│ ( cat, file.txt )                                                            │

│ ( ../../file.exe, file1.txt file2.txt )                                      │

│ ( c:/dir/file.exe, "file1.txt file2.txt" )                                   │

│ ( ../../dir name/file.exe, "file 1.txt" file2.txt )                          │

│ ( ../../file 1.exe, -c \\"echo 1\\" )                                        │

│ ( ../../file, 1.exe -c \\"echo 1\\" )                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## executeAsync                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type ExecutionLine =

    {

        ProcessId : int

        Line : string

        Error : bool

    }



type ExecutionOptions =

    {

        Command : string

        WorkingDirectory : string option

        CancellationToken : System.Threading.CancellationToken option

        OnLine : (ExecutionLine -> Async<unit>) option

    }



let inline executeWithOptionsAsync (options : ExecutionOptions) = async {

    let fileName, arguments = options.Command |> splitCommand

    let workingDirectory = options.WorkingDirectory |> Option.defaultValue ""



    trace Debug (fun () -> $"executeAsync / options: {options}") getLocals



    let startInfo = System.Diagnostics.ProcessStartInfo (

        Arguments = arguments,

        CreateNoWindow = true,

        FileName = fileName,

        RedirectStandardError = true,

        RedirectStandardOutput = true,

        StandardOutputEncoding = System.Text.Encoding.UTF8,

        UseShellExecute = false,

        WorkingDirectory = workingDirectory

    )



    use proc = new System.Diagnostics.Process (StartInfo = startInfo)

    let output = System.Collections.Concurrent.ConcurrentStack<string> ()



    let inline event error (e: System.Diagnostics.DataReceivedEventArgs) = async

{

        if e.Data <> null then

            match options.OnLine with

            | Some onLine ->

                do!

                    onLine

                        {

                            ProcessId = proc.Id

                            Line = e.Data

                            Error = error

                        }

            | None -> ()



            trace

                Debug

                (fun () -> $"> {e.Data}")

                Common.getLocals



            output.Push

                $"{

                    if error then '[['.ToString() else System.String.Empty

                }{

                    e.Data

                }{

                    if error then ']]'.ToString() else System.String.Empty

                }"

    }



    proc.OutputDataReceived.Add (event false >> Async.StartImmediate)

    proc.ErrorDataReceived.Add (event true >> Async.StartImmediate)



    if proc.Start () |> not

    then failwith $"executeAsync / proc.Start () error"



    proc.BeginErrorReadLine ()

    proc.BeginOutputReadLine ()



    let! ct =

        options.CancellationToken

        |> Option.defaultValue System.Threading.CancellationToken.None

        |> Async.mergeCancellationTokenWithDefaultAsync



    use reg = ct.Register (fun _ ->

        if not proc.HasExited then proc.Kill ()

    )



    let! exitCode = async {

        try

            do! proc.WaitForExitAsync ct |> Async.AwaitTask

            return proc.ExitCode

        with :? System.Threading.Tasks.TaskCanceledException as ex ->

            trace Warning (fun () -> $"executeAsync / WaitForExitAsync / ex: {ex

|> printException}") getLocals

            ex |> printException |> output.Push

            return System.Int32.MinValue

    }



    let output = output |> Seq.rev |> String.concat "\n"



    trace Debug (fun () ->

        $"executeAsync / exitCode: {exitCode} / proc.Id: {proc.Id} / 

output.Length: {output.Length}"

    ) getLocals



    return exitCode, output

}



let inline executeAsync command =

    executeWithOptionsAsync

        {

            Command = command

            CancellationToken = None

            OnLine = None

            WorkingDirectory = None

        }



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = FileSystem.createTempDirectory ()

let fileName = "test.txt"

let path = tempFolder </> fileName



async {

    let! exitCode, result = executeAsync @$"pwsh -c ""Get-Content {path}"""

    exitCode |> _equal 1

    result |> _stringContains "not exist"



    do! "0" |> FileSystem.writeAllTextAsync path



    return!

        executeWithOptionsAsync

            {

                Command = @$"pwsh -c ""Get-Content {fileName}"""

                CancellationToken = None

                OnLine = None

                WorkingDirectory = Some tempFolder

            }



}

|> Async.runWithTimeout 10000

|> function

    | Some (exitCode, output) ->

        exitCode |> _equal 0

        output |> _equal "0"



        true

    | _ -> false

|> _equal true



╭─[ 2.18s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder:                        │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112d │

│ 1c2cb12 / result: { CreationTime = 2023-10-08 11:11:51 PM                    │

│   Exists = true }                                                            │

│ 00:00:00 #2 [Debug] executeAsync / options: { Command =                      │

│    "pwsh -c "Get-Content                                                     │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112d │

│ 1c2cb12\test.txt""                                                           │

│   WorkingDirectory = None                                                    │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:00 #3 [Debug] > Get-Content: Cannot find path                │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112 │

│ d1c2cb12\test.txt' because it does not exist.                              │

│ 00:00:00 #4 [Debug] executeAsync / exitCode: 1 / proc.Id: 70824 /            │

│ output.Length: 171                                                           │

│ 1                                                                            │

│ [Get-Content: Cannot find path                                     │

│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112 │

│ d1c2cb12\test.txt' because it does not exist.]                             │

│ 00:00:00 #5 [Debug] executeAsync / options: { Command = "pwsh -c             │

│ "Get-Content test.txt""                                                      │

│   WorkingDirectory =                                                         │

│    Some                                                                      │

│                                                                              │

│ "C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112 │

│ d1c2cb12"                                                                    │

│   CancellationToken = None                                                   │

│   OnLine = None }                                                            │

│ 00:00:01 #6 [Debug] > 0                                                      │

│ 00:00:01 #7 [Debug] executeAsync / exitCode: 0 / proc.Id: 46348 /            │

│ output.Length: 1                                                             │

│ 0                                                                            │

│ 0                                                                            │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = FileSystem.createTempDirectory ()

let path = tempFolder </> "test.txt"



let command = @$"pwsh -c ""Get-Content {path}"""



async {

    do! "0" |> FileSystem.writeAllTextAsync path

    let cts = new System.Threading.CancellationTokenSource ()

    trace Debug (fun () -> "1") getLocals

    let! result =

        executeWithOptionsAsync

            {

                Command = command

                CancellationToken = Some cts.Token

                OnLine = None

                WorkingDirectory = None

            }

        |> Async.StartChild

    trace Debug (fun () -> "2") getLocals

    do! Async.Sleep 100

    trace Debug (fun () -> "3") getLocals

    cts.Cancel ()

    trace Debug (fun () -> "4") getLocals

    let! exitCode, output = result

    trace Debug (fun () -> "5") getLocals

    return exitCode, output

}

|> Async.runWithTimeout 10000

|> function

    | Some (exitCode, output) ->

        exitCode |> _equal -2147483648

        output |> _equal "System.Threading.Tasks.TaskCanceledException: A task 

was canceled."



        true

    | _ -> false

|> _equal true



╭─[ 638.27ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:02 #8 [Debug] createTempDirectory / tempFolder:                        │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5340-4007-4109f │

│ 514f225 / result: { CreationTime = 2023-10-08 11:11:53 PM                    │

│   Exists = true }                                                            │

│ 00:00:02 #9 [Debug] 1                                                        │

│ 00:00:02 #11 [Debug] 2                                                       │

│ 00:00:02 #10 [Debug] executeAsync / options: { Command =                     │

│    "pwsh -c "Get-Content                                                     │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5340-4007-4109f │

│ 514f225\test.txt""                                                           │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = None }                                                            │

│ 00:00:02 #12 [Debug] 3                                                       │

│ 00:00:02 #13 [Debug] 4                                                       │

│ 00:00:02 #14 [Warning] executeAsync / WaitForExitAsync / ex:                 │

│ System.Threading.Tasks.TaskCanceledException: A task was canceled.           │

│ 00:00:02 #15 [Debug] executeAsync / exitCode: -2147483648 / proc.Id: 13424 / │

│ output.Length: 66                                                            │

│ 00:00:02 #16 [Debug] 5                                                       │

│ -2147483648                                                                  │

│ System.Threading.Tasks.TaskCanceledException: A task was canceled.           │

│ True                                                                         │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## splitArgs                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline splitArgs commandLine =

    commandLine

    |> System.CommandLine.Parsing.CommandLineStringSplitter.Instance.Split



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""a b "c d" e"""

|> splitArgs

|> Seq.toArray

|> _equal [[| "a"; "b"; "c d"; "e" |]]



╭─[ 28.07ms - stdout ]─────────────────────────────────────────────────────────╮

│ [ a, b, c d, e ]                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## parseArgs                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =

    let assemblyName = 

System.Reflection.Assembly.GetEntryAssembly().GetName().Name

    let errorHandler : Argu.IExiter =

        if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |> 

List.contains assemblyName

        then Argu.ExceptionExiter ()

        else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | _ ->

Some System.ConsoleColor.Red)



    let parser =

        Argu.ArgumentParser.Create<'T> (

            programName = $"{assemblyName}{getExecutableSuffix ()}",

            errorHandler = errorHandler

        )



    parser.ParseCommandLine args



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



[[<RequireQualifiedAccess>]]

type Arguments =

    | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce; 

Argu.ArguAttributes.Last>]]

        Paths of paths : string list



    interface Argu.IArgParserTemplate with

        member s.Usage =

            match s with

            | Paths _ -> nameof Paths



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



fun () -> parseArgs<Arguments> [[||]] |> ignore

|> _throwsC (fun ex _ ->

    printException ex

    |> _stringContains "Argu.ArguParseException: ERROR: missing parameter 

'<paths>...'."

)



╭─[ 155.08ms - stdout ]────────────────────────────────────────────────────────╮

│ FSI_0029+it@3-246                                                            │

│ Argu.ArguParseException: ERROR: missing parameter '<paths>...'.              │

│ USAGE: dotnet-repl.exe [--help] <paths>...                                   │

│                                                                              │

│ PATHS:                                                                       │

│                                                                              │

│     <paths>...            Paths                                              │

│                                                                              │

│ OPTIONS:                                                                     │

│                                                                              │

│     --help                display this list of options.                      │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =

    args

    |> parseArgs<'T>

    |> fun results -> results.GetAllResults ()



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



[[<RequireQualifiedAccess>]]

type Arguments =

    | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce; 

Argu.ArguAttributes.Last>]]

        Paths of paths : string list



    interface Argu.IArgParserTemplate with

        member s.Usage =

            match s with

            | Paths _ -> nameof Paths



parseAllArgs<Arguments> [[| "a b"; "c" |]]

|> _equal [[ Arguments.Paths [[ "a b"; "c" ]] ]]



╭─[ 102.12ms - stdout ]────────────────────────────────────────────────────────╮

│ FSharpList<Arguments>                                                        │

│       - paths: [ a b, c ]                                                    │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =

    args

    |> parseAllArgs<'T>

    |> List.groupBy CommonFSharp.getUnionCaseName<'T>

    |> Map.ofList



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



parseArgsMap<Arguments> [[| "a b"; "c" |]]

|> _equal (

    [[ nameof Arguments.Paths, [[ Arguments.Paths [[ "a b"; "c" ]] ]] ]]

    |> Map.ofList

)



╭─[ 66.49ms - stdout ]─────────────────────────────────────────────────────────╮

│ FSharpMap<String,FSharpList<Arguments>>                                      │

│       - Key: Paths                                                           │

│         Value: FSharpList<Arguments>                                         │

│           - paths: [ a b, c ]                                                │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Runtime.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 337725 bytes to Runtime.dib.html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Toml (Polyglot)                                                            │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/tomlyn/0.16.2/lib/net6.0/Tomlyn.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── fsharp ──────────────────────────────────────────────────────────────────────

let inline (/./) (table: Tomlyn.Model.TomlTable) (key: string) : 

Tomlyn.Model.TomlTable =

    table.[[key]] :?> Tomlyn.Model.TomlTable



let inline (/../) (table: Tomlyn.Model.TomlTable) (key: string) : 'T seq =

    table.[[key]] :?> Tomlyn.Model.TomlArray |> Seq.cast<'T>



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tomlContent =

    """

[[extension]]

paths = [["/a", "/b"]]

"""



let toml = Tomlyn.Toml.Parse tomlContent

let tomlModel = Tomlyn.Toml.ToModel toml



let paths : string seq = tomlModel /./ "extension" /../ "paths"



paths

|> Seq.toList

|> _equal [[ "/a"; "/b" ]]



╭─[ 124.00ms - stdout ]────────────────────────────────────────────────────────╮

│ [ /a, /b ]                                                                   │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Toml.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 276876 bytes to Toml.dib.html

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: CommonFSharp.dib

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Crypto.dib

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Async.dib

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Networking.dib

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Threading.dib

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: AsyncSeq.dib

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: FileSystem.dib

23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Common.dib

23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Networking.dib

23:12:09 #7 [Debug] parseDibCode / output: Fs / file: AsyncSeq.dib

23:12:09 #6 [Debug] parseDibCode / output: Fs / file: CommonFSharp.dib

23:12:09 #9 [Debug] parseDibCode / output: Fs / file: FileSystem.dib

23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Common.dib

23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Async.dib

23:12:09 #8 [Debug] parseDibCode / output: Fs / file: Crypto.dib

23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Threading.dib

23:12:09 #10 [Debug] writeDibCode / output: Fs / path: Runtime.dib

23:12:09 #10 [Debug] writeDibCode / output: Fs / path: Toml.dib

23:12:09 #12 [Debug] parseDibCode / output: Fs / file: Toml.dib

23:12:09 #11 [Debug] parseDibCode / output: Fs / file: Runtime.dib

In [ ]:
{ . "$ScriptDir/../apps/plot/build.ps1" } | Invoke-Block
    Finished release [optimized] target(s) in 0.58s

In [ ]:
{ . "$ScriptDir/../apps/dir-tree-html/build.ps1" } | Invoke-Block

── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # DirTreeHtml (Polyglot)                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"

#r 

@"../../../../../../../.nuget/packages/feliz.viewengine/0.24.0/lib/netstandard2.

0/Feliz.ViewEngine.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Async.fs

#!import ../nbs/AsyncSeq.fs

#!import ../nbs/Networking.fs

#!import ../nbs/Runtime.fs

#!import ../nbs/FileSystem.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module AsyncSeq =



    open Common



    /// ## subscribeEvent



    let inline subscribeEvent (event: IEvent<'H, 'A>) map =

        let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

        System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

        |> FSharp.Control.AsyncSeq.ofObservableBuffered



    let subscribeToken (token : System.Threading.CancellationToken) =

        let tcs = new System.Threading.Tasks.TaskCompletionSource ()

        System.Action tcs.SetResult |> token.Register |> ignore

        let start = System.DateTime.Now.Ticks

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun (...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Networking =



    open Common



    /// ## testPortOpen



    let inline testPortOpen port = async {

        let! ct = Async.CancellationToken

        use client = new System.Net.Sockets.TcpClient ()

        try

            do! client.ConnectAsync ("127.0.0.1", port, ct) |> 

Async.awaitValueTaskUnit

            return true

        with ex ->

            trace Verbose (fun () -> $"testPortOpen / ex: {ex |> 

printException}") getLocals

            return false

    }



    let inline testPortOpenTimeout timeout port = async {

        let! result =

            testPortOpen port

            |> Async.runWithTimeoutAsync timeout

        return

            match result with

            | None -> false

 ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module FileSystem =



    open Common



    /// ## Operators



    module Operators =

        let inline (</>) a b =

            System.IO.Path.Combine (a, b)



    open Operators



    /// ## createTempDirectoryName



    let inline createTempDirectoryName () =

        let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name



        System.IO.Path.GetTempPath ()

        </> $"!{root}"

        </> string (newGuidFromDateTime System.DateTime.Now)



    /// ## createTempDirectory



    let inline createTempDirectory () =

        let tempFolder = createTempDirectoryName ()

        let result = System.IO.Directory.CreateDirectory tempFolder



        let getLocals () =

            $"tempFolder:...



── fsharp ──────────────────────────────────────────────────────────────────────

open FileSystem.Operators

open Feliz.ViewEngine



── fsharp ──────────────────────────────────────────────────────────────────────

type FileSystemNode =

    | File of string * string * int64

    | Folder of string * string * FileSystemNode list

    | Root of FileSystemNode list



let rec scanDirectory isRoot (basePath : string) (path : string) =

    let relativePath = path.Replace(basePath, "").Replace("\\", 

"/").Replace("//", "/").TrimStart '/'



    let directories =

        path

        |> System.IO.Directory.GetDirectories

        |> Array.toList

        |> List.sort

        |> List.map (scanDirectory false basePath)

    let files =

        path

        |> System.IO.Directory.GetFiles

        |> Array.toList

        |> List.sort

        |> List.map (fun f -> File (System.IO.Path.GetFileName f, relativePath, 

System.IO.FileInfo(f).Length))



    let children = directories @ files

    if isRoot

    then Root children

    else Folder (path |> System.IO.Path.GetFileName, relativePath, children)



let rec generateHtml fsNode =

    let sizeLabel size =

        match float size with

        | size when size > 1024.0 * 1024.0 -> $"%.2f{size / 1024.0 / 1024.0} MB"

        | size when size > 1024.0 -> $"%.2f{size / 1024.0} KB"

        | size -> $"%.2f{size} B"

    match fsNode with

    | File (fileName, relativePath, size) ->

        Html.div [[

            prop.children [[

                Html.rawText "&#128196; "

                Html.a [[

                    prop.href $"""{relativePath}{if relativePath = "" then "" 

else "/"}{fileName}"""

                    prop.text fileName

                ]]

                Html.span [[

                    prop.text $" ({size |> sizeLabel})"

                ]]

            ]]

        ]]

    | Folder (folderName, relativePath, children) ->

        let size =

            let rec loop children =

                children

                |> List.sumBy (function

                    | File (_, _, size) -> size

                    | Folder (_, _, children)

                    | Root children -> loop children

                )

            loop children

        Html.details [[

            prop.isOpen true

            prop.children [[

                Html.summary [[

                    prop.children [[

                        Html.rawText "&#128194; "

                        Html.a [[

                            prop.href relativePath

                            prop.text folderName

                        ]]

                        Html.span [[

                            prop.text $" ({size |> sizeLabel})"

                        ]]

                    ]]

                ]]

                Html.div [[

                    prop.children [[

                        yield! children |> List.map generateHtml

                    ]]

                ]]

            ]]

        ]]

    | Root children ->

        Html.div [[

            prop.children [[

                yield! children |> List.map generateHtml

            ]]

        ]]



let generateHtmlForFileSystem root =

    $"""<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <style>

a {{

  font-size: 15px;

}}

span {{

  font-size: 11px;

}}

div > div {{

  padding-left: 10px;

}}

details > div {{

  padding-left: 19px;

}}

  </style>

</head>

<body>

  {root |> generateHtml |> Render.htmlView}

</body>

</html>

"""



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let tempFolder = FileSystem.createTempDirectory ()

let rec loop d n = async {

    if n >= 0 then

        tempFolder </> d |> System.IO.Directory.CreateDirectory |> ignore

        do!

            n

            |> string

            |> String.replicate (n + 1)

            |> FileSystem.writeAllTextAsync (tempFolder </> d </> $"file.txt")

        do! loop $"{d}/{n}" (n - 1)

}

loop "root" 3

|> Async.RunSynchronously



let html =

    scanDirectory true tempFolder tempFolder

    |> generateHtmlForFileSystem



html

|> _equal """<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <style>

a {

  font-size: 15px;

}

span {

  font-size: 11px;

}

div > div {

  padding-left: 10px;

}

details > div {

  padding-left: 19px;

}

  </style>

</head>

<body>

  <div><details open="true"><summary>&#128194; <a href="root">root</a><span> 

(10.00 B)</span></summary><div><details open="true"><summary>&#128194; <a 

href="root/3">3</a><span> (6.00 B)</span></summary><div><details 

open="true"><summary>&#128194; <a href="root/3/2">2</a><span> (3.00 

B)</span></summary><div><details open="true"><summary>&#128194; <a 

href="root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>&#128196; <a 

href="root/3/2/1/file.txt">file.txt</a><span> (1.00 

B)</span></div></div></details><div>&#128196; <a 

href="root/3/2/file.txt">file.txt</a><span> (2.00 

B)</span></div></div></details><div>&#128196; <a 

href="root/3/file.txt">file.txt</a><span> (3.00 

B)</span></div></div></details><div>&#128196; <a 

href="root/file.txt">file.txt</a><span> (4.00 

B)</span></div></div></details></div>

</body>

</html>

"""



html |> Microsoft.DotNet.Interactive.Formatting.Html.ToHtmlContent



╭─[ 230.38ms - return value ]──────────────────────────────────────────────────╮

│ <!DOCTYPE html>                                                              │

│ <html lang="en">                                                             │

│ <head>                                                                       │

│   <meta charset="UTF-8">                                                     │

│   <style>                                                                    │

│ a {                                                                          │

│   font-size: 15px;                                                           │

│ }                                                                            │

│ span {                                                                       │

│   font-size: 11px;                                                           │

│ }                                                                            │

│ div > div {                                                                  │

│   padding-left: 10px;                                                        │

│ }                                                                            │

│ details > div {                                                              │

│   padding-left: 19px;                                                        │

│ }                                                                            │

│   </style>                                                                   │

│ </head>                                                                      │

│ <body>                                                                       │

│   <div><details open="true"><summary>&#128194; <a href="root">root</a><span> │

│ (10.00 B)</span></summary><div><details open="true"><summary>&#128194; <a    │

│ href="root/3">3</a><span> (6.00 B)</span></summary><div><details             │

│ open="true"><summary>&#128194; <a href="root/3/2">2</a><span> (3.00          │

│ B)</span></summary><div><details open="true"><summary>&#128194; <a           │

│ href="root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>&#128196;   │

│ <a href="root/3/2/1/file.txt">file.txt</a><span> (1.00                       │

│ B)</span></div></div></details><div>&#128196; <a                             │

│ href="root/3/2/file.txt">file.txt</a><span> (2.00                            │

│ B)</span></div></div></details><div>&#128196; <a                             │

│ href="root/3/file.txt">file.txt</a><span> (3.00                              │

│ B)</span></div></div></details><div>&#128196; <a                             │

│ href="root/file.txt">file.txt</a><span> (4.00                                │

│ B)</span></div></div></details></div>                                        │

│ </body>                                                                      │

│ </html>                                                                      │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 249.02ms - stdout ]────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder:                        │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2312-2439-3997-35cf3 │

│ 88387c7 / result: { CreationTime = 2023-10-08 11:12:24 PM                    │

│   Exists = true }                                                            │

│ <!DOCTYPE html>                                                              │

│ <html lang="en">                                                             │

│ <head>                                                                       │

│   <meta charset="UTF-8">                                                     │

│   <style>                                                                    │

│ a {                                                                          │

│   font-size: 15px;                                                           │

│ }                                                                            │

│ span {                                                                       │

│   font-size: 11px;                                                           │

│ }                                                                            │

│ div > div {                                                                  │

│   padding-left: 10px;                                                        │

│ }                                                                            │

│ details > div {                                                              │

│   padding-left: 19px;                                                        │

│ }                                                                            │

│   </style>                                                                   │

│ </head>                                                                      │

│ <body>                                                                       │

│   <div><details open="true"><summary>&#128194; <a href="root">root</a><span> │

│ (10.00 B)</span></summary><div><details open="true"><summary>&#128194; <a    │

│ href="root/3">3</a><span> (6.00 B)</span></summary><div><details             │

│ open="true"><summary>&#128194; <a href="root/3/2">2</a><span> (3.00          │

│ B)</span></summary><div><details open="true"><summary>&#128194; <a           │

│ href="root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>&#128196;   │

│ <a href="root/3/2/1/file.txt">file.txt</a><span> (1.00                       │

│ B)</span></div></div></details><div>&#128196; <a                             │

│ href="root/3/2/file.txt">file.txt</a><span> (2.00                            │

│ B)</span></div></div></details><div>&#128196; <a                             │

│ href="root/3/file.txt">file.txt</a><span> (3.00                              │

│ B)</span></div></div></details><div>&#128196; <a                             │

│ href="root/file.txt">file.txt</a><span> (4.00                                │

│ B)</span></div></div></details></div>                                        │

│ </body>                                                                      │

│ </html>                                                                      │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Arguments                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

[[<RequireQualifiedAccess>]]

type Arguments =

    | [[<Argu.ArguAttributes.ExactlyOnce>]] Dir of string

    | [[<Argu.ArguAttributes.ExactlyOnce>]] Html of string



    interface Argu.IArgParserTemplate with

        member s.Usage =

            match s with

            | Dir _ -> nameof Dir

            | Html _ -> nameof Html



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## main                                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let main args =

    let argsMap = args |> Runtime.parseArgsMap<Arguments>



    let dir =

        match argsMap.[[nameof Arguments.Dir]] with

        | [[ Arguments.Dir dir ]] -> Some dir

        | _ -> None

        |> Option.get



    let htmlPath =

        match argsMap.[[nameof Arguments.Html]] with

        | [[ Arguments.Html html ]] -> Some html

        | _ -> None

        |> Option.get



    let fileSystem = scanDirectory true dir dir

    let html = generateHtmlForFileSystem fileSystem



    html |> FileSystem.writeAllTextAsync htmlPath

    |> Async.runWithTimeout 30000

    |> function

        | Some () -> 0

        | None -> 1



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let args =

    System.Environment.GetEnvironmentVariable "ARGS"

    |> Runtime.splitArgs

    |> Seq.toArray



match args with

| [[||]] -> 0

| args -> if main args = 0 then 0 else failwith "main failed"



╭─[ 78.91ms - return value ]───────────────────────────────────────────────────╮

│ <div class="dni-plaintext"><pre>0</pre></div><style>                         │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook DirTreeHtml.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 306256 bytes to DirTreeHtml.dib.html

23:12:28 #1 [Debug] writeDibCode / output: Fs / path: DirTreeHtml.dib

23:12:28 #2 [Debug] parseDibCode / output: Fs / file: DirTreeHtml.dib

23:12:28 #1 [Debug] persistCodeProject / packages: [Argu; Feliz.ViewEngine; FSharp.Control.AsyncSeq; ... ] / modules: [nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Async.fs; ... ] / path: C:\home\git\polyglot\apps\dir-tree-html / name: DirTreeHtml / code.Length: 4755

23:12:28 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj

23:12:28 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\dir-tree-html\target"

  CancellationToken = None

  OnLine = None }

23:12:29 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:12:29 #5 [Debug] >   Determining projects to restore...

23:12:30 #6 [Debug] >   Restored C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj (in 405 ms).

23:12:30 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj]

23:12:36 #8 [Debug] >   DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\target\bin\release\net8.0\linux-x64\DirTreeHtml.dll

23:12:37 #9 [Debug] >   DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\dist\

23:12:37 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 43400 / output.Length: 665

23:12:37 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\dir-tree-html\target"

  CancellationToken = None

  OnLine = None }

23:12:38 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:12:38 #13 [Debug] >   Determining projects to restore...

23:12:39 #14 [Debug] >   Restored C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj (in 431 ms).

23:12:39 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj]

23:12:45 #16 [Debug] >   DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\target\bin\release\net8.0\win-x64\DirTreeHtml.dll

23:12:54 #17 [Debug] >   DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\dist\

23:12:54 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 42468 / output.Length: 663

In [ ]:
{ . "$ScriptDir/../apps/spiral/build.ps1" } | Invoke-Block

── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Supervisor (Polyglot)                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#r 

@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

dard2.1/FSharp.Control.AsyncSeq.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

0/System.Reactive.dll"

#r 

@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/

netstandard2.0/System.Reactive.Linq.dll"

#r 

@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

#r 

@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

b/net6.0/System.CommandLine.dll"

#r 

@"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com

mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll"

#r 

@"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli

ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll"

#r 

@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0

/lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll"

#r 

@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0

/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll"

#r 

@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/

7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll"

#r 

@"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha

rp.Json.dll"



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs

#!import ../nbs/CommonFSharp.fs

#!import ../nbs/Threading.fs

#!import ../nbs/Async.fs

#!import ../nbs/AsyncSeq.fs

#!import ../nbs/Networking.fs

#!import ../nbs/Runtime.fs

#!import ../nbs/FileSystem.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module CommonFSharp =



    open Common



    /// ## getUnionCaseName



    let inline getUnionCaseName<'T> (x: 'T) =

        match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

        | case, _ -> case.Name





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Threading =



    open Common



    /// ## newDisposableToken



    let inline newDisposableToken (mergeToken: 

System.Threading.CancellationToken option) =

        let cts = new System.Threading.CancellationTokenSource ()

        let cts =

            match mergeToken with

            | None -> cts

            | Some mergeToken ->

                System.Threading.CancellationTokenSource.CreateLinkedTokenSource

[[| cts.Token; mergeToken |]]

        let disposable = newDisposable cts.Cancel

        cts.Token, disposable





── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Async =



    open Common



    /// ## choice



    let inline choice asyncs = async {

        let e = Event<_> ()

        use cts = new System.Threading.CancellationTokenSource ()

        let fn =

            asyncs

            |> Seq.map (fun a -> async {

                let! x = a

                e.Trigger x

            })

            |> Async.Parallel

            |> Async.Ignore

        Async.Start (fn, cts.Token)

        let! result = Async.AwaitEvent e.Publish

        cts.Cancel ()

        return result

    }



    /// ## map



    let inline map fn a = async {

        let! x = a

        return fn x

    }



    /// ## catch



    let inline catch a =

        a

        |> Async.Catch

        ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module AsyncSeq =



    open Common



    /// ## subscribeEvent



    let inline subscribeEvent (event: IEvent<'H, 'A>) map =

        let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 

'A>(event.AddHandler, event.RemoveHandler)

        System.Reactive.Linq.Observable.Select (observable, fun event -> map 

event.EventArgs)

        |> FSharp.Control.AsyncSeq.ofObservableBuffered



    let subscribeToken (token : System.Threading.CancellationToken) =

        let tcs = new System.Threading.Tasks.TaskCompletionSource ()

        System.Action tcs.SetResult |> token.Register |> ignore

        let start = System.DateTime.Now.Ticks

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun (...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Networking =



    open Common



    /// ## testPortOpen



    let inline testPortOpen port = async {

        let! ct = Async.CancellationToken

        use client = new System.Net.Sockets.TcpClient ()

        try

            do! client.ConnectAsync ("127.0.0.1", port, ct) |> 

Async.awaitValueTaskUnit

            return true

        with ex ->

            trace Verbose (fun () -> $"testPortOpen / ex: {ex |> 

printException}") getLocals

            return false

    }



    let inline testPortOpenTimeout timeout port = async {

        let! result =

            testPortOpen port

            |> Async.runWithTimeoutAsync timeout

        return

            match result with

            | None -> false

 ...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Runtime =



    open Common



    /// ## isWindows



    let isWindows =

        fun () ->

            System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

                System.Runtime.InteropServices.OSPlatform.Windows

        |> memoize



    /// ## getExecutableSuffix



    let inline getExecutableSuffix () =

        if isWindows ()

        then ".exe"

        else ""



    /// ## splitCommand



    type private CommandParseStep =

        | Start

        | Path of quoted: bool

        | Arguments



    let splitCommand (command: string) =

        let rec loop (path, args) chars step =

            match chars, step with

            | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module FileSystem =



    open Common



    /// ## Operators



    module Operators =

        let inline (</>) a b =

            System.IO.Path.Combine (a, b)



    open Operators



    /// ## createTempDirectoryName



    let inline createTempDirectoryName () =

        let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name



        System.IO.Path.GetTempPath ()

        </> $"!{root}"

        </> string (newGuidFromDateTime System.DateTime.Now)



    /// ## createTempDirectory



    let inline createTempDirectory () =

        let tempFolder = createTempDirectoryName ()

        let result = System.IO.Directory.CreateDirectory tempFolder



        let getLocals () =

            $"tempFolder:...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common

open FileSystem.Operators

open Microsoft.AspNetCore.SignalR.Client



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## sendJson                                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline sendJson (port : int) (json : string) = async {

    let! portOpen = Networking.testPortOpen port

    if portOpen then

        try

            let connection = 

HubConnectionBuilder().WithUrl($"http://127.0.0.1:{port}").Build()

            do! connection.StartAsync () |> Async.AwaitTask

            let! result = connection.InvokeAsync<string>("ClientToServerMsg", 

json) |> Async.AwaitTask

            do! connection.StopAsync () |> Async.AwaitTask

            trace Debug (fun () -> $"sendJson / port: {port} / json: {json} / 

result.Length: {result |> Option.ofObj |> Option.map String.length}") getLocals

            return Some result

        with ex ->

            trace Critical (fun () -> $"sendJson / port: {port} / json: {json} /

ex: {ex |> printException}") getLocals

            return None

    else

        trace Debug (fun () -> "sendJson / error: port not open") getLocals

        return None

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## sendObj                                                                   │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline sendObj port obj =

    obj

    |> System.Text.Json.JsonSerializer.Serialize

    |> sendJson port



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## awaitCompiler                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

type VSCPos = {| line : int; character : int |}

type VSCRange = VSCPos * VSCPos

type RString = VSCRange * string

type TracedError = {| trace : string list; message : string |}

type ClientErrorsRes =

    | FatalError of string

    | TracedError of TracedError

    | PackageErrors of {| uri : string; errors : RString list |}

    | TokenizerErrors of {| uri : string; errors : RString list |}

    | ParserErrors of {| uri : string; errors : RString list |}

    | TypeErrors of {| uri : string; errors : RString list |}



── fsharp ──────────────────────────────────────────────────────────────────────

let inline awaitCompiler port cancellationToken = async {

    let! ct =

        cancellationToken

        |> Option.defaultValue System.Threading.CancellationToken.None

        |> Async.mergeCancellationTokenWithDefaultAsync

    

    let cts = new System.Threading.CancellationTokenSource ()



    let compiler = MailboxProcessor.Start (fun inbox -> async {

        let! availablePort = Networking.getAvailablePort (Some 60) port

        if availablePort <> port then

            inbox.Post port

        else

            let repositoryRoot = FileSystem.getSourceDirectory () |> 

FileSystem.findParent ".paket" false



            let compilerPath =

                repositoryRoot </> "deps/The-Spiral-Language/The Spiral Language

2/artifacts/bin/The Spiral Language 2/release"

                |> System.IO.Path.GetFullPath



            let dllPath = compilerPath </> "Spiral.dll"



            let! exitCode, result =

                Runtime.executeWithOptionsAsync

                    {

                        Command = $@"dotnet ""{dllPath}"" port={availablePort}"

                        CancellationToken = Some ct

                        WorkingDirectory = None

                        OnLine = Some <| fun { Line = line } -> async {

                            if line |> String.contains $"Server bound to: 

http://localhost:{availablePort}" then

                                do! Networking.waitForPortAccess (Some 500) true

availablePort |> Async.Ignore



                                let rec loop retry = async {

                                    let getLocals () = $"port: {availablePort} /

retry: {retry} / {getLocals ()}"

                                    try

                                        let pingObj = {| Ping = true |}

                                        let! pingResult = pingObj |> sendObj 

availablePort

                                        trace Verbose (fun () -> $"awaitCompiler

/ Ping / result: {pingResult}") getLocals

                                    with ex ->

                                        trace Verbose (fun () -> $"awaitCompiler

/ Ping / ex: {ex |> printException}") getLocals

                                        do! Async.Sleep 10

                                        do! loop (retry + 1)

                                }

                                do! loop 0

                                inbox.Post availablePort

                        }

                    }

            trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} / 

result: {result}") getLocals

            cts.Cancel ()

    }, ct)



    let! serverPort = compiler.Receive ()



    let connection = 

HubConnectionBuilder().WithUrl($"http://127.0.0.1:{serverPort}").Build ()

    do! connection.StartAsync () |> Async.AwaitTask



    let event = Event<_> ()

    let disposable = connection.On<string> ("ServerToClientMsg", event.Trigger)

    let stream =

        FSharp.Control.AsyncSeq.unfoldAsync

            (fun () -> async {

                let! msg = event.Publish |> Async.AwaitEvent

                return Some (msg |> 

FSharp.Json.Json.deserialize<ClientErrorsRes>, ())

            })

            ()



    let disposable =

        newDisposable (fun () ->

            disposable.Dispose ()

            connection.StopAsync () |> Async.AwaitTask |> Async.StartImmediate

        )



    return

        serverPort,

        stream,

        cts.Token,

        disposable

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## getFileUri                                                                │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getFileUri path =

    $"file:///{path |> String.trimStart [[| '/' |]]}"



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getFilePathFromUri uri =

    match System.Uri.TryCreate (uri, System.UriKind.Absolute) with

    | true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath

    | _ -> failwith "invalid uri"



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getCompilerPort () =

    13805



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## buildFile                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline buildFile timeout port cancellationToken path = async {

    let fullPath = path |> System.IO.Path.GetFullPath

    let fileDir = fullPath |> System.IO.Path.GetDirectoryName

    let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension

    let! code = fullPath |> FileSystem.readAllTextAsync



    let stream, disposable = FileSystem.watchDirectory true fileDir

    use _ = disposable



    let token, disposable = Threading.newDisposableToken cancellationToken

    use _ = disposable



    let! serverPort, errors, ct, disposable = awaitCompiler port (Some token)

    use _ = disposable



    let fsxContentSeq =

        stream

        |> FSharp.Control.AsyncSeq.choose (function

            | _, FileSystem.FileSystemChange.Changed (path, Some content) when 

path = $"{fileName}.fsx" ->

                Some content

            | _ -> None

        )

        |> FSharp.Control.AsyncSeq.map (fun content ->

            Some (content |> String.replace "\r\n" "\n"), None

        )



    let inline printErrorData (data : {| uri : string; errors : RString list |})

=

        let fileName = data.uri |> System.IO.Path.GetFileName

        let errors =

            data.errors

            |> List.map snd

            |> String.concat "\n"

        $"{fileName}:\n{errors}"



    let errorsSeq =

        errors

        |> FSharp.Control.AsyncSeq.choose (fun error ->

            match error with

            | FatalError message ->

                Some (message, error)

            | TracedError data ->

                Some (data.message, error)

            | PackageErrors data when data.errors |> List.isEmpty |> not ->

                Some (data |> printErrorData, error)

            | TokenizerErrors data when data.errors |> List.isEmpty |> not ->

                Some (data |> printErrorData, error)

            | ParserErrors data when data.errors |> List.isEmpty |> not ->

                Some (data |> printErrorData, error)

            | TypeErrors data when data.errors |> List.isEmpty |> not ->

                Some (data |> printErrorData, error)

            | _ -> None

        )

        |> FSharp.Control.AsyncSeq.map (fun (message, error) ->

            None, Some (message, error)

        )



    let outputSeq =

        [[ fsxContentSeq; errorsSeq ]]

        |> FSharp.Control.AsyncSeq.mergeAll



    let! outputChild =

        ((None, [[]]), outputSeq)

        ||> FSharp.Control.AsyncSeq.scan (

            fun (fsxContentResult, errors) (fsxContent, error) ->

                match fsxContent, error with

                | Some fsxContent, None -> Some fsxContent, errors

                | None, Some error ->

                    fsxContentResult,

                    error :: errors

                | _ -> fsxContentResult, errors

        )

        |> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (fsxContent, errors) 

->

            trace Debug (fun () -> $"buildFile / fsxContent: {fsxContent} / 

errors: {errors}") getLocals

            match fsxContent, errors with

            | None, [[]] -> true

            | _ -> false

        )

        |> FSharp.Control.AsyncSeq.map (fun (fsxContent, errors) ->

            fsxContent, errors |> List.distinct

        )

        |> FSharp.Control.AsyncSeq.tryLast

        |> Async.withCancellationToken ct

        |> Async.catch

        |> Async.runWithTimeoutAsync timeout

        |> Async.StartChild



    let fileOpenObj = {| FileOpen = {| uri = fullPath |> getFileUri; spiText = 

code |} |}

    let! _fileOpenResult = fileOpenObj |> sendObj serverPort



    let buildFileObj = {| BuildFile = {| uri = fullPath |> getFileUri; backend =

"Fsharp" |} |}

    let! _buildFileResult = buildFileObj |> sendObj serverPort



    return!

        outputChild

        |> Async.map (function

            | Some (Ok (Some result)) -> result

            | Some (Error ex) ->

                trace Critical (fun () -> $"buildFile / error: {ex |> 

printException}") getLocals

                None, [[]]

            | _ -> None, [[]]

        )

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## persistCode                                                               │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline persistCode code = async {

    let tempDir = FileSystem.createTempDirectory ()



    let mainPath = tempDir </> "main.spi"

    do! code |> FileSystem.writeAllTextAsync mainPath



    let repositoryRoot = FileSystem.getSourceDirectory () |> 

FileSystem.findParent ".paket" false



    let spiprojPath = tempDir </> "package.spiproj"

    let spiprojCode =

        $"""packageDir: {repositoryRoot </> "lib"}

packages:

    |core-

    spiral-

modules:

    main

"""

    do! spiprojCode |> FileSystem.writeAllTextAsync spiprojPath



    let disposable = newDisposable (fun () ->

        ()

        // tempDir |> FileSystem.deleteDirectoryAsync |> Async.Ignore |> 

Async.RunSynchronously

    )



    return mainPath, disposable

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## buildCode                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline buildCode timeout cancellationToken code = async {

    let! mainPath, disposable = persistCode code

    use _ = disposable

    let port = getCompilerPort ()

    return! mainPath |> buildFile timeout port cancellationToken

}



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let buildCode timeout cancellationToken code = buildCode timeout 

cancellationToken code



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""inl app () =

    console.write_line "text"

    1i32



inl main () =

    app

    |> dyn

    |> ignore

"""

|> buildCode 15000 None

|> Async.runWithTimeout 15000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        Some """let rec closure0 () () : int32 =

    let v0 : string = "text"

    System.Console.WriteLine v0

    1

let v0 : (unit -> int32) = closure0()

()

""",

        [[]]

    )

)



╭─[ 3.89s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder:                        │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2378-7822-737c8 │

│ a66580b / result: { CreationTime = 2023-10-08 11:13:23 PM                    │

│   Exists = true }                                                            │

│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 60                        │

│ 00:00:00 #3 [Debug] executeAsync / options: { Command =                      │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:00 #4 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                  │

│ 00:00:00 #5 [Debug] > dll_path:                                              │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:01 #6 [Debug] runWithTimeoutAsync / timeout: 500                       │

│ 00:00:01 #7 [Verbose] waitForPortAccess / port: 13805 / retry: 0             │

│ 00:00:01 #8 [Debug] sendJson / port: 13805 / json: {"Ping":true} /           │

│ result.Length:                                                               │

│ 00:00:01 #9 [Verbose] awaitCompiler / Ping / result: Some(null) / port:      │

│ 13805 / retry: 0                                                             │

│ 00:00:01 #10 [Debug] > Server bound to: http://localhost:13805               │

│ 00:00:01 #11 [Debug] buildFile / fsxContent:  / errors: []                   │

│ 00:00:01 #12 [Debug] sendJson / port: 13805 / json:                          │

│ {"FileOpen":{"spiText":"inl app () =\n    console.write_line                 │

│ \u0022text\u0022\n    1i32\n\ninl main () =\n    app\n    |\u003E dyn\n      │

│ |\u003E                                                                      │

│ ignore\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-rep │

│ l\\20231008-2313-2378-7822-737c8a66580b\\main.spi"}} / result.Length:        │

│ 00:00:01 #13 [Debug] sendJson / port: 13805 / json:                          │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-2378-7822-737c8a66580b\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:02 #14 [Debug] > Building                                              │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2378-7822-737c8 │

│ a66580b\main.spi                                                             │

│ 00:00:03 #15 [Debug] buildFile / fsxContent: Some(let rec closure0 () () :   │

│ int32 =                                                                      │

│     let v0 : string = "text"                                                 │

│     System.Console.WriteLine v0                                              │

│     1                                                                        │

│ let v0 : (unit -> int32) = closure0()                                        │

│ ()                                                                           │

│ ) / errors: []                                                               │

│ 00:00:03 #16 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2378-7822-737c8 │

│ a66580b / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - FSharpOption<String>                                    │

│           Value: let rec closure0 () () : int32 =                            │

│     let v0 : string = "text"                                                 │

│     System.Console.WriteLine v0                                              │

│     1                                                                        │

│ let v0 : (unit -> int32) = closure0()                                        │

│ ()                                                                           │

│                                                                              │

│       - [  ]                                                                 │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> _equal None



╭─[ 10.25s - stdout ]──────────────────────────────────────────────────────────╮

│ 00:00:03 #17 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │

│ c58a1af / result: { CreationTime = 2023-10-08 11:13:27 PM                    │

│   Exists = true }                                                            │

│ 00:00:03 #18 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:03 #19 [Debug] executeAsync / options: { Command =                     │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:04 #20 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                 │

│ 00:00:04 #21 [Debug] > dll_path:                                             │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:04 #22 [Debug] runWithTimeoutAsync / timeout: 500                      │

│ 00:00:04 #23 [Debug] sendJson / port: 13805 / json: {"Ping":true} /          │

│ result.Length:                                                               │

│ 00:00:04 #24 [Verbose] awaitCompiler / Ping / result: Some(null) / port:     │

│ 13805 / retry: 0                                                             │

│ 00:00:04 #25 [Debug] > Server bound to: http://localhost:13805               │

│ 00:00:05 #26 [Debug] buildFile / fsxContent:  / errors: []                   │

│ 00:00:05 #27 [Debug] sendJson / port: 13805 / json:                          │

│ {"FileOpen":{"spiText":"","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\T │

│ emp\\!dotnet-repl\\20231008-2313-2769-6943-68f0ac58a1af\\main.spi"}} /       │

│ result.Length:                                                               │

│ 00:00:05 #28 [Debug] sendJson / port: 13805 / json:                          │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-2769-6943-68f0ac58a1af\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:05 #29 [Debug] > Building                                              │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │

│ c58a1af\main.spi                                                             │

│ 00:00:06 #30 [Debug] > Cannot find `main` in file main.                      │

│ 00:00:06 #31 [Debug] > Build skipped for                                     │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │

│ c58a1af\main.spi                                                             │

│ 00:00:13 #32 [Debug] runWithTimeoutAsync / timeout: 10000                    │

│ 00:00:13 #33 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │

│ c58a1af / filter: FileName, LastWrite                                        │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"inl app () =

    0i32



inl a = 1



inl main () =

    app

    |> dyn

    |> ignore

"

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        None,

        [[ "main.spi:

Global inl/let statements should all return functions known at parse time." ]]

    )

)



╭─[ 1.73s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:14 #34 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9460-9e752 │

│ e43c0ad / result: { CreationTime = 2023-10-08 11:13:37 PM                    │

│   Exists = true }                                                            │

│ 00:00:14 #35 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:14 #36 [Debug] executeAsync / options: { Command =                     │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:14 #37 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                 │

│ 00:00:14 #38 [Debug] > dll_path:                                             │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:14 #39 [Debug] runWithTimeoutAsync / timeout: 500                      │

│ 00:00:15 #41 [Debug] sendJson / port: 13805 / json: {"Ping":true} /          │

│ result.Length:                                                               │

│ 00:00:15 #42 [Verbose] awaitCompiler / Ping / result: Some(null) / port:     │

│ 13805 / retry: 0                                                             │

│ 00:00:15 #43 [Debug] > Server bound to: http://localhost:13805               │

│ 00:00:15 #44 [Debug] buildFile / fsxContent:  / errors: []                   │

│ 00:00:15 #45 [Debug] sendJson / port: 13805 / json:                          │

│ {"FileOpen":{"spiText":"inl app () =\n    0i32\n\ninl a = 1\n\ninl main ()   │

│ =\n    app\n    |\u003E dyn\n    |\u003E                                     │

│ ignore\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-rep │

│ l\\20231008-2313-3794-9460-9e752e43c0ad\\main.spi"}} / result.Length:        │

│ 00:00:15 #46 [Debug] sendJson / port: 13805 / json:                          │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-3794-9460-9e752e43c0ad\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:15 #47 [Debug] > Building                                              │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9460-9e752 │

│ e43c0ad\main.spi                                                             │

│ 00:00:15 #48 [Debug] buildFile / fsxContent:  / errors: [(main.spi:          │

│ Global inl/let statements should all return functions known at parse time.,  │

│ ParserErrors                                                                 │

│   { errors =                                                                 │

│      [(({ character = 0                                                      │

│           line = 3 }, { character = 9                                        │

│                         line = 3 }),                                         │

│        "Global inl/let statements should all return functions known at parse │

│ time.")]                                                                     │

│     uri =                                                                    │

│                                                                              │

│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9 │

│ 460-9e752e43c0ad\main.spi" })]                                               │

│ 00:00:15 #49 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9460-9e752 │

│ e43c0ad / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - <null>                                                  │

│       - [ main.spi:                                                          │

│ Global inl/let statements should all return functions known at parse time. ] │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""inl main () =

    1i32 / 0i32

"""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        None,

        [[ "An attempt to divide by zero has been detected at compile time." ]]

    )

)



╭─[ 3.03s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:15 #50 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │

│ 86c68cd / result: { CreationTime = 2023-10-08 11:13:39 PM                    │

│   Exists = true }                                                            │

│ 00:00:16 #51 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:16 #52 [Debug] executeAsync / options: { Command =                     │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:16 #53 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                 │

│ 00:00:16 #54 [Debug] > dll_path:                                             │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:16 #55 [Debug] runWithTimeoutAsync / timeout: 500                      │

│ 00:00:16 #56 [Verbose] waitForPortAccess / port: 13805 / retry: 0            │

│ 00:00:16 #57 [Debug] sendJson / port: 13805 / json: {"Ping":true} /          │

│ result.Length:                                                               │

│ 00:00:16 #58 [Verbose] awaitCompiler / Ping / result: Some(null) / port:     │

│ 13805 / retry: 0                                                             │

│ 00:00:16 #59 [Debug] > Server bound to: http://localhost:13805               │

│ 00:00:16 #60 [Debug] buildFile / fsxContent:  / errors: []                   │

│ 00:00:17 #61 [Debug] sendJson / port: 13805 / json:                          │

│ {"FileOpen":{"spiText":"inl main () =\n    1i32 /                            │

│ 0i32\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\ │

│ \20231008-2313-3973-7368-7ac2286c68cd\\main.spi"}} / result.Length:          │

│ 00:00:17 #62 [Debug] sendJson / port: 13805 / json:                          │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-3973-7368-7ac2286c68cd\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:17 #63 [Debug] > Building                                              │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │

│ 86c68cd\main.spi                                                             │

│ 00:00:18 #64 [Debug] buildFile / fsxContent:  / errors: [(An attempt to      │

│ divide by zero has been detected at compile time., TracedError               │

│   { message = "An attempt to divide by zero has been detected at compile     │

│ time."                                                                       │

│     trace =                                                                  │

│      ["Error trace on line: 1, column: 10 in module:                         │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │

│ 86c68cd\main.spi.                                                            │

│ inl main () =                                                                │

│          ^                                                                   │

│ ";                                                                           │

│       "Error trace on line: 2, column: 5 in module:                          │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │

│ 86c68cd\main.spi.                                                            │

│     1i32 / 0i32                                                              │

│     ^                                                                        │

│ "] })]                                                                       │

│ 00:00:18 #65 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │

│ 86c68cd / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - <null>                                                  │

│       - [ An attempt to divide by zero has been detected at compile time. ]  │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""union a =

    | B

    | c



inl main () =

    ()

"""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        None,

        [[ "main.spi:

Expected: uppercase variable" ]]

    )

)



╭─[ 2.86s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:19 #66 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0413-0443d │

│ 4e97a07 / result: { CreationTime = 2023-10-08 11:13:43 PM                    │

│   Exists = true }                                                            │

│ 00:00:19 #67 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:19 #68 [Debug] executeAsync / options: { Command =                     │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:19 #69 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                 │

│ 00:00:19 #70 [Debug] > dll_path:                                             │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:20 #71 [Debug] runWithTimeoutAsync / timeout: 500                      │

│ 00:00:20 #72 [Verbose] waitForPortAccess / port: 13805 / retry: 0            │

│ 00:00:20 #73 [Debug] sendJson / port: 13805 / json: {"Ping":true} /          │

│ result.Length:                                                               │

│ 00:00:20 #74 [Verbose] awaitCompiler / Ping / result: Some(null) / port:     │

│ 13805 / retry: 0                                                             │

│ 00:00:20 #75 [Debug] > Server bound to: http://localhost:13805               │

│ 00:00:20 #76 [Debug] buildFile / fsxContent:  / errors: []                   │

│ 00:00:21 #77 [Debug] sendJson / port: 13805 / json:                          │

│ {"FileOpen":{"spiText":"union a =\n    | B\n    | c\n\ninl main () =\n       │

│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │

│ 0231008-2313-4304-0413-0443d4e97a07\\main.spi"}} / result.Length:            │

│ 00:00:21 #78 [Debug] sendJson / port: 13805 / json:                          │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-4304-0413-0443d4e97a07\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:21 #79 [Debug] > Building                                              │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0413-0443d │

│ 4e97a07\main.spi                                                             │

│ 00:00:21 #80 [Debug] buildFile / fsxContent:  / errors: [(main.spi:          │

│ Expected: uppercase variable, ParserErrors                                   │

│   { errors = [(({ character = 6                                              │

│                   line = 2 }, { character = 7                                │

│                                 line = 2 }), "Expected: uppercase            │

│ variable")]                                                                  │

│     uri =                                                                    │

│                                                                              │

│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0 │

│ 413-0443d4e97a07\main.spi" })]                                               │

│ 00:00:21 #81 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0413-0443d │

│ 4e97a07 / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - <null>                                                  │

│       - [ main.spi:                                                          │

│ Expected: uppercase variable ]                                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""

/// abc

inl main () =

    ()

"""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        None,

        [[ "main.spi:

Expected: whitespace" ]]

    )

)



╭─[ 1.84s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:21 #82 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4574-7408-75085 │

│ 8514b8e / result: { CreationTime = 2023-10-08 11:13:45 PM                    │

│   Exists = true }                                                            │

│ 00:00:22 #83 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:22 #84 [Debug] executeAsync / options: { Command =                     │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:22 #85 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                 │

│ 00:00:22 #86 [Debug] > dll_path:                                             │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:22 #87 [Debug] runWithTimeoutAsync / timeout: 500                      │

│ 00:00:23 #88 [Debug] sendJson / port: 13805 / json: {"Ping":true} /          │

│ result.Length:                                                               │

│ 00:00:23 #89 [Verbose] awaitCompiler / Ping / result: Some(null) / port:     │

│ 13805 / retry: 0                                                             │

│ 00:00:23 #90 [Debug] > Server bound to: http://localhost:13805               │

│ 00:00:23 #91 [Debug] buildFile / fsxContent:  / errors: []                   │

│ 00:00:23 #92 [Debug] sendJson / port: 13805 / json:                          │

│ {"FileOpen":{"spiText":"\n/// abc\ninl main () =\n                           │

│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │

│ 0231008-2313-4574-7408-750858514b8e\\main.spi"}} / result.Length:            │

│ 00:00:23 #93 [Debug] sendJson / port: 13805 / json:                          │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-4574-7408-750858514b8e\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:23 #94 [Debug] buildFile / fsxContent:  / errors: [(main.spi:          │

│ Expected: whitespace, TokenizerErrors                                        │

│   { errors = [(({ character = 2                                              │

│                   line = 1 }, { character = 3                                │

│                                 line = 1 }), "Expected: whitespace")]        │

│     uri =                                                                    │

│                                                                              │

│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4574-7 │

│ 408-750858514b8e\main.spi" })]                                               │

│ 00:00:23 #95 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4574-7408-75085 │

│ 8514b8e / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - <null>                                                  │

│       - [ main.spi:                                                          │

│ Expected: whitespace ]                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""

inl main () =

    real

        inl real_unbox forall a. (obj : a) : a =

            typecase obj with

            | _ => obj

        real_unbox ()

    ()

"""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        None,

        [[ "Cannot apply a forall with a term." ]]

    )

)



╭─[ 2.98s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:23 #96 [Debug] createTempDirectory / tempFolder:                       │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │

│ 4f0a940 / result: { CreationTime = 2023-10-08 11:13:47 PM                    │

│   Exists = true }                                                            │

│ 00:00:24 #97 [Debug] runWithTimeoutAsync / timeout: 60                       │

│ 00:00:24 #98 [Debug] executeAsync / options: { Command =                     │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:24 #99 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                 │

│ 00:00:24 #100 [Debug] > dll_path:                                            │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:24 #101 [Debug] runWithTimeoutAsync / timeout: 500                     │

│ 00:00:24 #102 [Verbose] waitForPortAccess / port: 13805 / retry: 0           │

│ 00:00:25 #103 [Debug] sendJson / port: 13805 / json: {"Ping":true} /         │

│ result.Length:                                                               │

│ 00:00:25 #104 [Verbose] awaitCompiler / Ping / result: Some(null) / port:    │

│ 13805 / retry: 0                                                             │

│ 00:00:25 #105 [Debug] > Server bound to: http://localhost:13805              │

│ 00:00:25 #106 [Debug] buildFile / fsxContent:  / errors: []                  │

│ 00:00:25 #107 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileOpen":{"spiText":"\ninl main () =\n    real\n        inl real_unbox    │

│ forall a. (obj : a) : a =\n            typecase obj with\n            | _    │

│ =\u003E obj\n        real_unbox ()\n                                         │

│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │

│ 0231008-2313-4774-7429-7c2b84f0a940\\main.spi"}} / result.Length:            │

│ 00:00:25 #108 [Debug] sendJson / port: 13805 / json:                         │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-4774-7429-7c2b84f0a940\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:25 #109 [Debug] > Building                                             │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │

│ 4f0a940\main.spi                                                             │

│ 00:00:26 #110 [Debug] buildFile / fsxContent:  / errors: [(Cannot apply a    │

│ forall with a term., TracedError                                             │

│   { message = "Cannot apply a forall with a term."                           │

│     trace =                                                                  │

│      ["Error trace on line: 2, column: 10 in module:                         │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │

│ 4f0a940\main.spi.                                                            │

│ inl main () =                                                                │

│          ^                                                                   │

│ ";                                                                           │

│       "Error trace on line: 4, column: 9 in module:                          │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │

│ 4f0a940\main.spi.                                                            │

│         inl real_unbox forall a. (obj : a) : a =                             │

│         ^                                                                    │

│ ";                                                                           │

│       "Error trace on line: 7, column: 9 in module:                          │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │

│ 4f0a940\main.spi.                                                            │

│         real_unbox ()                                                        │

│         ^                                                                    │

│ "] })]                                                                       │

│ 00:00:26 #111 [Debug] watchWithFilter / Disposing watch stream / fullPath:   │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │

│ 4f0a940 / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - <null>                                                  │

│       - [ Cannot apply a forall with a term. ]                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""

inl main () =

    real

        inl real_unbox forall a. (obj : a) : a =

            typecase obj with

            | _ => obj

        real_unbox `i32 1

"""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        None,

        [[ "The main function should not have a forall." ]]

    )

)



╭─[ 2.55s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:26 #112 [Debug] createTempDirectory / tempFolder:                      │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5061-6158-615dc │

│ dfacbf5 / result: { CreationTime = 2023-10-08 11:13:50 PM                    │

│   Exists = true }                                                            │

│ 00:00:26 #113 [Debug] runWithTimeoutAsync / timeout: 60                      │

│ 00:00:26 #114 [Debug] executeAsync / options: { Command =                    │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:27 #115 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                │

│ 00:00:27 #116 [Debug] > dll_path:                                            │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:27 #117 [Debug] runWithTimeoutAsync / timeout: 500                     │

│ 00:00:27 #118 [Verbose] waitForPortAccess / port: 13805 / retry: 0           │

│ 00:00:27 #119 [Debug] sendJson / port: 13805 / json: {"Ping":true} /         │

│ result.Length:                                                               │

│ 00:00:27 #120 [Verbose] awaitCompiler / Ping / result: Some(null) / port:    │

│ 13805 / retry: 0                                                             │

│ 00:00:27 #121 [Debug] > Server bound to: http://localhost:13805              │

│ 00:00:27 #122 [Debug] buildFile / fsxContent:  / errors: []                  │

│ 00:00:27 #123 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileOpen":{"spiText":"\ninl main () =\n    real\n        inl real_unbox    │

│ forall a. (obj : a) : a =\n            typecase obj with\n            | _    │

│ =\u003E obj\n        real_unbox \u0060i32                                    │

│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │

│ 231008-2313-5061-6158-615dcdfacbf5\\main.spi"}} / result.Length:             │

│ 00:00:27 #124 [Debug] sendJson / port: 13805 / json:                         │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-5061-6158-615dcdfacbf5\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:28 #125 [Debug] > Building                                             │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5061-6158-615dc │

│ dfacbf5\main.spi                                                             │

│ 00:00:29 #126 [Debug] buildFile / fsxContent:  / errors: [(The main function │

│ should not have a forall., TracedError { message = "The main function should │

│ not have a forall."                                                          │

│               trace = [] })]                                                 │

│ 00:00:29 #127 [Debug] watchWithFilter / Disposing watch stream / fullPath:   │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5061-6158-615dc │

│ dfacbf5 / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - <null>                                                  │

│       - [ The main function should not have a forall. ]                      │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""

inl init_series start end inc =

    inl total : f64 = conv ((end - start) / inc) + 1

    listm.init total (conv >> (*) inc >> (+) start) : list f64



type integration = (f64 -> f64) -> f64 -> f64 -> f64



inl integral dt : integration =

    fun f a b =>

        init_series (a + dt / 2) (b - dt / 2) dt

        |> listm.map (f >> (*) dt)

        |> listm.fold (+) 0



inl main () =

    integral 0.1 (fun x => x ** 2) 0 1

"""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

|> _equal (

    Some (

        Some "0.3325000000000001\n",

        [[]]

    )

)



╭─[ 3.12s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:29 #128 [Debug] createTempDirectory / tempFolder:                      │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5326-2632-25e03 │

│ 53a1c52 / result: { CreationTime = 2023-10-08 11:13:53 PM                    │

│   Exists = true }                                                            │

│ 00:00:29 #129 [Debug] runWithTimeoutAsync / timeout: 60                      │

│ 00:00:29 #130 [Debug] executeAsync / options: { Command =                    │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:29 #131 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                │

│ 00:00:29 #132 [Debug] > dll_path:                                            │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:30 #133 [Debug] runWithTimeoutAsync / timeout: 500                     │

│ 00:00:30 #134 [Debug] sendJson / port: 13805 / json: {"Ping":true} /         │

│ result.Length:                                                               │

│ 00:00:30 #135 [Verbose] awaitCompiler / Ping / result: Some(null) / port:    │

│ 13805 / retry: 0                                                             │

│ 00:00:30 #136 [Debug] > Server bound to: http://localhost:13805              │

│ 00:00:30 #137 [Debug] buildFile / fsxContent:  / errors: []                  │

│ 00:00:30 #138 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n    inl total :   │

│ f64 = conv ((end - start) / inc) \u002B 1\n    listm.init total (conv        │

│ \u003E\u003E (*) inc \u003E\u003E (\u002B) start) : list f64\n\ntype         │

│ integration = (f64 -\u003E f64) -\u003E f64 -\u003E f64 -\u003E f64\n\ninl   │

│ integral dt : integration =\n    fun f a b =\u003E\n        init_series (a   │

│ \u002B dt / 2) (b - dt / 2) dt\n        |\u003E listm.map (f \u003E\u003E    │

│ (*) dt)\n        |\u003E listm.fold (\u002B) 0\n\ninl main () =\n            │

│ integral 0.1 (fun x =\u003E x ** 2) 0                                        │

│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │

│ 231008-2313-5326-2632-25e0353a1c52\\main.spi"}} / result.Length:             │

│ 00:00:30 #139 [Debug] sendJson / port: 13805 / json:                         │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-5326-2632-25e0353a1c52\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:31 #140 [Debug] > Building                                             │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5326-2632-25e03 │

│ 53a1c52\main.spi                                                             │

│ 00:00:32 #141 [Debug] buildFile / fsxContent: Some(0.3325000000000001        │

│ ) / errors: []                                                               │

│ 00:00:32 #142 [Debug] watchWithFilter / Disposing watch stream / fullPath:   │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5326-2632-25e03 │

│ 53a1c52 / filter: FileName, LastWrite                                        │

│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>>                 │

│       Value:       - FSharpOption<String>                                    │

│           Value: 0.3325000000000001                                          │

│                                                                              │

│       - [  ]                                                                 │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""

inl init_series start end inc =

    inl total : f64 = conv ((end - start) / inc) + 1

    listm.init total (conv >> (*) inc >> (+) start) : list f64



type integration = (f64 -> f64) -> f64 -> f64 -> f64



inl integral dt : integration =

    fun f a b =>

        init_series (a + dt / 2) (b - dt / 2) dt

        |> listm.map (f >> (*) dt)

        |> listm.fold (+) 0



inl main () =

    integral 0.01 (fun x => x ** 2) 0 1

"""

|> buildCode 10000 None

|> Async.runWithTimeout 10000

|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)

// |> _equal None

// |> fun x -> printfn $"{x.ToDisplayString ()}"



╭─[ 7.98s - return value ]─────────────────────────────────────────────────────╮

│ <details open="open" class="dni-treeview"><summary><span                     │

│ class="dni-code-hint"><code>Some((, [                                        │

│ ]))</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │

│ d>Value</td><td><details class="dni-treeview"><summary><span                 │

│ class="dni-code-hint"><code>(, [                                             │

│ ])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │

│ >Item1</td><td><div                                                          │

│ class="dni-plaintext"><pre>&lt;null&gt;</pre></div></td></tr><tr><td>Item2</ │

│ td><td><div class="dni-plaintext"><pre>[                                     │

│ ]</pre></div></td></tr></tbody></table></div></details></td></tr></tbody></t │

│ able></div></details><style>                                                 │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯



╭─[ 8.02s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:32 #143 [Debug] createTempDirectory / tempFolder:                      │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │

│ 575a5d4 / result: { CreationTime = 2023-10-08 11:13:56 PM                    │

│   Exists = true }                                                            │

│ 00:00:32 #144 [Debug] runWithTimeoutAsync / timeout: 60                      │

│ 00:00:32 #145 [Debug] executeAsync / options: { Command =                    │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:buildCode@3-980> }                                      │

│ 00:00:32 #146 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                │

│ 00:00:32 #147 [Debug] > dll_path:                                            │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:33 #148 [Debug] runWithTimeoutAsync / timeout: 500                     │

│ 00:00:33 #149 [Verbose] waitForPortAccess / port: 13805 / retry: 0           │

│ 00:00:33 #150 [Debug] sendJson / port: 13805 / json: {"Ping":true} /         │

│ result.Length:                                                               │

│ 00:00:33 #151 [Verbose] awaitCompiler / Ping / result: Some(null) / port:    │

│ 13805 / retry: 0                                                             │

│ 00:00:33 #152 [Debug] > Server bound to: http://localhost:13805              │

│ 00:00:33 #153 [Debug] buildFile / fsxContent:  / errors: []                  │

│ 00:00:33 #154 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n    inl total :   │

│ f64 = conv ((end - start) / inc) \u002B 1\n    listm.init total (conv        │

│ \u003E\u003E (*) inc \u003E\u003E (\u002B) start) : list f64\n\ntype         │

│ integration = (f64 -\u003E f64) -\u003E f64 -\u003E f64 -\u003E f64\n\ninl   │

│ integral dt : integration =\n    fun f a b =\u003E\n        init_series (a   │

│ \u002B dt / 2) (b - dt / 2) dt\n        |\u003E listm.map (f \u003E\u003E    │

│ (*) dt)\n        |\u003E listm.fold (\u002B) 0\n\ninl main () =\n            │

│ integral 0.01 (fun x =\u003E x ** 2) 0                                       │

│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │

│ 231008-2313-5640-4036-41eb3575a5d4\\main.spi"}} / result.Length:             │

│ 00:00:33 #155 [Debug] sendJson / port: 13805 / json:                         │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │

│ ocal\\Temp\\!dotnet-repl\\20231008-2313-5640-4036-41eb3575a5d4\\main.spi"}}  │

│ / result.Length:                                                             │

│ 00:00:34 #156 [Debug] > Building                                             │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │

│ 575a5d4\main.spi                                                             │

│ 00:00:35 #157 [Debug] > Stack overflow.                                      │

│ 00:00:35 #158 [Debug] > Repeat 3 times:                                      │

│ 00:00:35 #159 [Debug] > --------------------------------                     │

│ 00:00:35 #160 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #161 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #162 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #163 [Debug] > --------------------------------                     │

│ 00:00:35 #164 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #165 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #166 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #167 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #168 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #169 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #170 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #171 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #172 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #173 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #174 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #175 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #176 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #177 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #178 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #179 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #180 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #181 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #182 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #183 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #184 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #185 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #186 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #187 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #188 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #189 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #190 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #191 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #192 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #193 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #194 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #195 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #196 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #197 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #198 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #199 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #200 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #201 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #202 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #203 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #204 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #205 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #206 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #207 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #208 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #209 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #210 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #211 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #212 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #213 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #214 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #215 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #216 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #217 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #218 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #219 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #220 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #221 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #222 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #223 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #224 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #225 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #226 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #227 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #228 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #229 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #230 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #231 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #232 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #233 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #234 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #235 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #236 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #237 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #238 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #239 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #240 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #241 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #242 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #243 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #244 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #245 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #246 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #247 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #248 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #249 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #250 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #251 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #252 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #253 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #254 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #255 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #256 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #257 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #258 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #259 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #260 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #261 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #262 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #263 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #264 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #265 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #266 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #267 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #268 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #269 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #270 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #271 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #272 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #273 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #274 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #275 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #276 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #277 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #278 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #279 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #280 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #281 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #282 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #283 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #284 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #285 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #286 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #287 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #288 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #289 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #290 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #291 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #292 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #293 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #294 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #295 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #296 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #297 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #298 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #299 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #300 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #301 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #302 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #303 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #304 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #305 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #306 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #307 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #308 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #309 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #310 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #311 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #312 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #313 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #314 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #315 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #316 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #317 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #318 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #319 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #320 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #321 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #322 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #323 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #324 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #325 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #326 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #327 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #328 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #329 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #330 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #331 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #332 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #333 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #334 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #335 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #336 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #337 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #338 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #339 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #340 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #341 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #342 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #343 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #344 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #345 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #346 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #347 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #348 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #349 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #350 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #351 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #352 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #353 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #354 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #355 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #356 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #357 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #358 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #359 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #360 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #361 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #362 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #363 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #364 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #365 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #366 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #367 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #368 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #369 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #370 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #371 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #372 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #373 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #374 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #375 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #376 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #377 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #378 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #379 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #380 [Debug] >    at                                                │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)         │

│ 00:00:35 #381 [Debug] >    at Spiral.PartEval.Main.term@684-65(TopEnv,       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #382 [Debug] >    at Spiral.PartEval.Main.term_scope''@574(TopEnv,  │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #383 [Debug] >    at Spiral.PartEval.Main.term_scope'@578(TopEnv,   │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv,                │

│ System.Collections.Generic.Dictionary`2<TypedOp,Data>, E)                    │

│ 00:00:35 #384 [Debug] >    at Spiral.PartEval.Main.term_scope@579(TopEnv,    │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)             │

│ 00:00:35 #385 [Debug] >    at Spiral.PartEval.Main.peval(TopEnv, E)          │

│ 00:00:35 #386 [Debug] >    at                                                │

│ Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState,        │

│ PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>,                      │

│ Microsoft.FSharp.Core.Unit)                                                  │

│ 00:00:35 #387 [Debug] >    at                                                │

│ Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String,           │

│ System.String, SupervisorState, PrepassTopEnv)                               │

│ 00:00:35 #388 [Debug] >    at                                                │

│ Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv)                              │

│ 00:00:35 #389 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #390 [Debug] >    at Hopac.Job+result@1000-1[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #391 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #392 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)                                                              │

│ 00:00:35 #393 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #394 [Debug] >    at Hopac.Job+result@1000-1[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #395 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #396 [Debug] >    at Hopac.Core.Cont.Do[[System.__Canon,            │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)                                     │

│ 00:00:35 #397 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #398 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #399 [Debug] >    at Hopac.Core.Job.Do[[System.__Canon,             │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)                  │

│ 00:00:35 #400 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #401 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #402 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #403 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)                                                              │

│ 00:00:35 #404 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #405 [Debug] >    at Hopac.Core.ContMap`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #406 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)                                                              │

│ 00:00:35 #407 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #408 [Debug] >    at Hopac.Core.Cont.Do[[System.__Canon,            │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)                                     │

│ 00:00:35 #409 [Debug] >    at Hopac.Core.JobThunk`1[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #410 [Debug] >    at Hopac.Core.Job.Do[[System.__Canon,             │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)                  │

│ 00:00:35 #411 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #412 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #413 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #414 [Debug] >    at Hopac.Core.Cont.Do[[System.__Canon,            │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)                                     │

│ 00:00:35 #415 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #416 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #417 [Debug] >    at Hopac.Core.Job.Do[[System.__Canon,             │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)                  │

│ 00:00:35 #418 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #419 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #420 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #421 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)                                                              │

│ 00:00:35 #422 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #423 [Debug] >    at Hopac.Core.ContMap`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #424 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)                                                              │

│ 00:00:35 #425 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #426 [Debug] >    at Hopac.Core.Cont.Do[[System.__Canon,            │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)                                     │

│ 00:00:35 #427 [Debug] >    at Hopac.Core.JobThunk`1[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #428 [Debug] >    at Hopac.Core.Job.Do[[System.__Canon,             │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)                  │

│ 00:00:35 #429 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #430 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #431 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #432 [Debug] >    at Hopac.Core.Cont.Do[[System.__Canon,            │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)                                     │

│ 00:00:35 #433 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #434 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #435 [Debug] >    at Hopac.Core.Job.Do[[System.__Canon,             │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)                  │

│ 00:00:35 #436 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #437 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #438 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #439 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)                                                              │

│ 00:00:35 #440 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #441 [Debug] >    at Hopac.Core.ContMap`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #442 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)                                                              │

│ 00:00:35 #443 [Debug] >    at Hopac.Promise`1+Fulfill[[System.__Canon,       │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #444 [Debug] >    at Hopac.Core.Cont.Do[[System.__Canon,            │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)                                     │

│ 00:00:35 #445 [Debug] >    at Hopac.Core.JobThunk`1[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #446 [Debug] >    at Hopac.Core.Job.Do[[System.__Canon,             │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)                  │

│ 00:00:35 #447 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #448 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #449 [Debug] >    at Hopac.Core.ContBind`2[[System.__Canon,         │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)                                                              │

│ 00:00:35 #450 [Debug] >    at Hopac.Core.Cont.Do[[System.__Canon,            │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)                                     │

│ 00:00:35 #451 [Debug] >    at Hopac.Promise`1[[System.__Canon,               │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #452 [Debug] >    at Hopac.Core.JobCont`2[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib,    │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)                                           │

│ 00:00:35 #453 [Debug] >    at Hopac.Core.JobWork`1[[System.__Canon,          │

│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,                    │

│ PublicKeyToken=7cec85d7bea7798e]].DoWork(Hopac.Core.Worker ByRef)            │

│ 00:00:35 #454 [Debug] >    at Hopac.Core.Worker.Run(Hopac.Scheduler, Int32)  │

│ 00:00:35 #455 [Debug] >    at Hopac.Platform.Scheduler+thread@30.Invoke()    │

│ 00:00:35 #456 [Debug] >    at                                                │

│ System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionCont │

│ ext, System.Threading.ContextCallback, System.Object)                        │

│ 00:00:40 #457 [Debug] executeAsync / exitCode: -1073741571 / proc.Id: 54292  │

│ / output.Length: 168452                                                      │

│ 00:00:40 #458 [Debug] awaitCompiler / exitCode: -1073741571 / result: pwd:   │

│ C:\home\git\polyglot\apps\spiral                                             │

│ dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language  │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ Server bound to: http://localhost:13805                                      │

│ Building                                                                     │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │

│ 575a5d4\main.spi                                                             │

│ [Stack overflow.]                                                            │

│ [Repeat 3 times:]                                                            │

│ [--------------------------------]                                           │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [--------------------------------]                                           │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at                                                                       │

│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr,     │

│ Void (IntPtr, Byte ByRef,                                                    │

│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)]        │

│ [   at Spiral.PartEval.Main.term@684-65(TopEnv,                              │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term_scope''@574(TopEnv,                         │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.term_scope'@578(TopEnv,                          │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv,                │

│ System.Collections.Generic.Dictionary`2<TypedOp,Data>, E)]                   │

│ [   at Spiral.PartEval.Main.term_scope@579(TopEnv,                           │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[                 │

│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[           │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │

│ on`1<System.String>>>,HashConsTable>>,                                       │

│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[                 │

│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │

│ []>>>,HashConsTable>>,                                                       │

│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │

│ Generic.Dictionary`2<ConsedNode`1<Ty[                                        │

│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>,                │

│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │

│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)]            │

│ [   at Spiral.PartEval.Main.peval(TopEnv, E)]                                │

│ [   at Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState, │

│ PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>,                      │

│ Microsoft.FSharp.Core.Unit)]                                                 │

│ [   at Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String,    │

│ System.String, SupervisorState, PrepassTopEnv)]                              │

│ [   at Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv)]                      │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib,           │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)]                                    │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib,            │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]                 │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib,           │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)]                                    │

│ [   at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib,            │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]                 │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib,           │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)]                                    │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib,            │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]                 │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib,           │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)]                                    │

│ [   at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib,            │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]                 │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib,           │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)]                                    │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib,            │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]                 │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef,                │

│ System.__Canon)]                                                             │

│ [   at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib,      │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib,           │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)]                                    │

│ [   at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib,            │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>,               │

│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)]                 │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib,        │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef,            │

│ System.__Canon)]                                                             │

│ [   at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib,           │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>,         │

│ Hopac.Core.Worker ByRef, System.__Canon)]                                    │

│ [   at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib,              │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[         │

│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral,    │

│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef,             │

│ Hopac.Core.Cont`1<System.__Canon>)]                                          │

│ [   at Hopac.Core.JobWork`1[[System.__Canon, System.Private.CoreLib,         │

│ Version=8.0.0.0, Culture=neutral,                                            │

│ PublicKeyToken=7cec85d7bea7798e]].DoWork(Hopac.Core.Worker ByRef)]           │

│ [   at Hopac.Core.Worker.Run(Hopac.Scheduler, Int32)]                        │

│ [   at Hopac.Platform.Scheduler+thread@30.Invoke()]                          │

│ [   at                                                                       │

│ System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionCont │

│ ext, System.Threading.ContextCallback, System.Object)]                       │

│ 00:00:40 #459 [Critical] buildFile / error: System.AggregateException: One   │

│ or more errors occurred. (One or more errors occurred. (A task was           │

│ canceled.))                                                                  │

│ 00:00:40 #460 [Debug] watchWithFilter / Disposing watch stream / fullPath:   │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │

│ 575a5d4 / filter: FileName, LastWrite                                        │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## getFileTokenRange                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getFileTokenRange port cancellationToken path = async {

    let fullPath = path |> System.IO.Path.GetFullPath

    let! code = fullPath |> FileSystem.readAllTextAsync

    let lines = code |> String.split [[| '\n' |]]



    let token, disposable = Threading.newDisposableToken cancellationToken

    use _ = disposable



    let! serverPort, _errors, ct, disposable = awaitCompiler port (Some token)

    use _ = disposable



    let fileOpenObj = {| FileOpen = {| uri = fullPath |> getFileUri; spiText = 

code |} |}

    let! _fileOpenResult = fileOpenObj |> sendObj serverPort



    let fileTokenRangeObj =

        {|

            FileTokenRange =

                {|

                    uri = fullPath |> getFileUri

                    range =

                        [[|

                            {| line = 0; character = 0 |}

                            {| line = lines.Length - 1; character = 

lines.[[lines.Length - 1]].Length |}

                        |]]

                |}

        |}

    let! fileTokenRangeResult =

        fileTokenRangeObj

        |> sendObj serverPort

        |> Async.withCancellationToken ct



    return fileTokenRangeResult |> Option.map FSharp.Json.Json.deserialize<int 

array>

}



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## getCodeTokenRange                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline getCodeTokenRange cancellationToken code = async {

    let! mainPath, disposable = persistCode code

    use _ = disposable

    let port = getCompilerPort ()

    return! mainPath |> getFileTokenRange port cancellationToken

}



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""inl main () = ()"""

|> getCodeTokenRange None

|> Async.runWithTimeout 10000

|> Option.flatten

|> _equal (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0; 

0; 2; 1; 4; 0; 0;

2; 1; 8; 0; 0; 1; 1; 8; 0 |]])



╭─[ 5.80s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:00:53 #461 [Debug] createTempDirectory / tempFolder:                      │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2314-1774-7480-7d60c │

│ b466671 / result: { CreationTime = 2023-10-08 11:14:17 PM                    │

│   Exists = true }                                                            │

│ 00:00:54 #462 [Debug] runWithTimeoutAsync / timeout: 60                      │

│ 00:00:54 #463 [Debug] executeAsync / options: { Command =                    │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:it@4-374> }                                             │

│ 00:00:54 #464 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                │

│ 00:00:54 #465 [Debug] > dll_path:                                            │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:00:54 #466 [Debug] runWithTimeoutAsync / timeout: 500                     │

│ 00:00:55 #467 [Debug] sendJson / port: 13805 / json: {"Ping":true} /         │

│ result.Length:                                                               │

│ 00:00:55 #468 [Verbose] awaitCompiler / Ping / result: Some(null) / port:    │

│ 13805 / retry: 0                                                             │

│ 00:00:55 #469 [Debug] > Server bound to: http://localhost:13805              │

│ 00:00:55 #470 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileOpen":{"spiText":"inl main () =                                        │

│ ()","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\202 │

│ 31008-2314-1774-7480-7d60cb466671\\main.spi"}} / result.Length:              │

│ 00:00:55 #471 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileTokenRange":{"range":[                                                 │

│ {"character":0,"line":0},{"character":16,"line":0}],"uri":"file:///C:\\Users │

│ \\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20231008-2314-1774-7480-7d60cb4 │

│ 66671\\main.spi"}} / result.Length: Some(213)                                │

│ FSharpOption<Int32[]>                                                        │

│       Value: [ 0, 0, 3, 7, 0, 0, 4, 4, 0, 0, 0, 5, 1, 8, 0, 0, 1, 1, 8, 0,   │

│ 0, 2, 1, 4, 0, 0, 2, 1, 8, 0, 0, 1, 1, 8, 0 ]                                │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



"""inl main () = 1i32"""

|> getCodeTokenRange None

|> Async.runWithTimeout 10000

|> Option.flatten

|> _equal (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0; 

0; 2; 1; 4; 0; 0;

2; 1; 3; 0; 0; 1; 3; 12; 0 |]])



╭─[ 5.88s - stdout ]───────────────────────────────────────────────────────────╮

│ 00:01:00 #472 [Debug] createTempDirectory / tempFolder:                      │

│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2314-2389-8926-86ced │

│ 5859ce5 / result: { CreationTime = 2023-10-08 11:14:23 PM                    │

│   Exists = true }                                                            │

│ 00:01:00 #473 [Debug] runWithTimeoutAsync / timeout: 60                      │

│ 00:01:00 #474 [Debug] executeAsync / options: { Command =                    │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:it@4-741> }                                             │

│ 00:01:00 #475 [Debug] > pwd: C:\home\git\polyglot\apps\spiral                │

│ 00:01:00 #476 [Debug] > dll_path:                                            │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 00:01:00 #477 [Debug] runWithTimeoutAsync / timeout: 500                     │

│ 00:01:00 #478 [Verbose] waitForPortAccess / port: 13805 / retry: 0           │

│ 00:01:01 #479 [Debug] sendJson / port: 13805 / json: {"Ping":true} /         │

│ result.Length:                                                               │

│ 00:01:01 #480 [Verbose] awaitCompiler / Ping / result: Some(null) / port:    │

│ 13805 / retry: 0                                                             │

│ 00:01:01 #481 [Debug] > Server bound to: http://localhost:13805              │

│ 00:01:01 #482 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileOpen":{"spiText":"inl main () =                                        │

│ 1i32","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │

│ 0231008-2314-2389-8926-86ced5859ce5\\main.spi"}} / result.Length:            │

│ 00:01:01 #483 [Debug] sendJson / port: 13805 / json:                         │

│ {"FileTokenRange":{"range":[                                                 │

│ {"character":0,"line":0},{"character":18,"line":0}],"uri":"file:///C:\\Users │

│ \\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20231008-2314-2389-8926-86ced58 │

│ 59ce5\\main.spi"}} / result.Length: Some(214)                                │

│ FSharpOption<Int32[]>                                                        │

│       Value: [ 0, 0, 3, 7, 0, 0, 4, 4, 0, 0, 0, 5, 1, 8, 0, 0, 1, 1, 8, 0,   │

│ 0, 2, 1, 4, 0, 0, 2, 1, 3, 0, 0, 1, 3, 12, 0 ]                               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## Arguments                                                                 │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

[[<RequireQualifiedAccess>]]

type Arguments =

    | BuildFile of string * string

    | FileTokenRange of string * string

    | ExecuteCommand of string

    | Timeout of int

    | Port of int



    interface Argu.IArgParserTemplate with

        member s.Usage =

            match s with

            | BuildFile _ -> nameof BuildFile

            | FileTokenRange _ -> nameof FileTokenRange

            | ExecuteCommand _ -> nameof ExecuteCommand

            | Timeout _ -> nameof Timeout

            | Port _ -> nameof Port



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## main                                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let main args =

    let argsMap = args |> Runtime.parseArgsMap<Arguments>



    let buildFileActions =

        argsMap

        |> Map.tryFind (nameof Arguments.BuildFile)

        |> Option.defaultValue [[]]

        |> List.choose (function

            | Arguments.BuildFile (inputPath, outputPath) -> Some (inputPath, 

outputPath)

            | _ -> None

        )



    let fileTokenRangeActions =

        argsMap

        |> Map.tryFind (nameof Arguments.FileTokenRange)

        |> Option.defaultValue [[]]

        |> List.choose (function

            | Arguments.FileTokenRange (inputPath, outputPath) -> Some 

(inputPath, outputPath)

            | _ -> None

        )



    let executeCommandActions =

        argsMap

        |> Map.tryFind (nameof Arguments.ExecuteCommand)

        |> Option.defaultValue [[]]

        |> List.choose (function

            | Arguments.ExecuteCommand command -> Some command

            | _ -> None

        )



    let timeout =

        match argsMap |> Map.tryFind (nameof Arguments.Timeout) with

        | Some [[ Arguments.Timeout timeout ]] -> timeout

        | _ -> 60000 * 5



    let port =

        match argsMap |> Map.tryFind (nameof Arguments.Port) with

        | Some [[ Arguments.Port port ]] -> Some port

        | _ -> None



    async {

        let! buildFileResult =

            buildFileActions

            |> List.map (fun (inputPath, outputPath) -> async {

                let port = port |> Option.defaultWith getCompilerPort

                let! outputCode, errors = inputPath |> buildFile timeout port 

None

                

                errors

                |> List.map snd

                |> List.iter (fun error ->

                    trace Critical (fun () -> $"main / error: {error}") 

getLocals

                )



                match outputCode with

                | Some outputCode ->

                    do! outputCode |> FileSystem.writeAllTextAsync outputPath

                    return 0

                | None ->

                    return 1

            })

            |> Async.Sequential



        let! fileTokenRangeResult =

            fileTokenRangeActions

            |> List.map (fun (inputPath, outputPath) -> async {

                let port = port |> Option.defaultWith getCompilerPort

                let! tokenRange = inputPath |> getFileTokenRange port None

                match tokenRange with

                | Some tokenRange ->

                    do! tokenRange |> FSharp.Json.Json.serialize |> 

FileSystem.writeAllTextAsync outputPath

                    return 0

                | None ->

                    return 1

            })

            |> Async.Sequential

        

        let! executeCommandResult =

            executeCommandActions

            |> List.map (fun command -> async {

                let port = port |> Option.defaultWith getCompilerPort



                let localToken, disposable = Threading.newDisposableToken None

                use _ = disposable



                let! serverPort, _errors, compilerToken, disposable = 

awaitCompiler port (Some localToken)

                use _ = disposable

                

                let! exitCode, result =

                    Runtime.executeWithOptionsAsync

                        {

                            Command = command

                            CancellationToken = Some compilerToken

                            WorkingDirectory = None

                            OnLine = None

                        }



                trace Debug (fun () -> $"main / executeCommand / exitCode: 

{exitCode}") getLocals



                return exitCode

            })

            |> Async.Sequential

            

        return

            [[| buildFileResult; fileTokenRangeResult; executeCommandResult |]]

            |> Array.collect id

            |> Array.sum

    }

    |> Async.runWithTimeout timeout

    |> Option.defaultValue 1



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let args =

    System.Environment.GetEnvironmentVariable "ARGS"

    |> Runtime.splitArgs

    |> Seq.toArray



match args with

| [[||]] -> 0

| args -> if main args = 0 then 0 else failwith "main failed"



╭─[ 44.38ms - return value ]───────────────────────────────────────────────────╮

│ <div class="dni-plaintext"><pre>0</pre></div><style>                         │

│ .dni-code-hint {                                                             │

│     font-style: italic;                                                      │

│     overflow: hidden;                                                        │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview {                                                              │

│     white-space: nowrap;                                                     │

│ }                                                                            │

│ .dni-treeview td {                                                           │

│     vertical-align: top;                                                     │

│     text-align: start;                                                       │

│ }                                                                            │

│ details.dni-treeview {                                                       │

│     padding-left: 1em;                                                       │

│ }                                                                            │

│ table td {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ table tr {                                                                   │

│     vertical-align: top;                                                     │

│     margin: 0em 0px;                                                         │

│ }                                                                            │

│ table tr td pre                                                              │

│ {                                                                            │

│     vertical-align: top !important;                                          │

│     margin: 0em 0px !important;                                              │

│ }                                                                            │

│ table th {                                                                   │

│     text-align: start;                                                       │

│ }                                                                            │

│ </style>                                                                     │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook Supervisor.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 812417 bytes to Supervisor.dib.html

23:14:49 #1 [Debug] writeDibCode / output: Fs / path: Supervisor.dib

23:14:49 #2 [Debug] parseDibCode / output: Fs / file: Supervisor.dib

23:14:50 #1 [Debug] persistCodeProject / packages: [Argu; FSharp.Control.AsyncSeq; FSharp.Json; ... ] / modules: [nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Threading.fs; ... ] / path: C:\home\git\polyglot\apps\spiral / name: Supervisor / code.Length: 17904

23:14:50 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj

23:14:50 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\spiral\target"

  CancellationToken = None

  OnLine = None }

23:14:50 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:14:51 #5 [Debug] >   Determining projects to restore...

23:14:52 #6 [Debug] >   Restored C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj (in 560 ms).

23:14:52 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj]

23:15:07 #8 [Debug] >   Supervisor -> C:\home\git\polyglot\apps\spiral\target\bin\release\net8.0\linux-x64\Supervisor.dll

23:15:09 #9 [Debug] >   Supervisor -> C:\home\git\polyglot\apps\spiral\dist\

23:15:09 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 40304 / output.Length: 632

23:15:09 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\spiral\target"

  CancellationToken = None

  OnLine = None }

23:15:09 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:15:10 #13 [Debug] >   Determining projects to restore...

23:15:11 #14 [Debug] >   Restored C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj (in 479 ms).

23:15:11 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj]

23:15:25 #16 [Debug] >   Supervisor -> C:\home\git\polyglot\apps\spiral\target\bin\release\net8.0\win-x64\Supervisor.dll

23:15:30 #17 [Debug] >   Supervisor -> C:\home\git\polyglot\apps\spiral\dist\

23:15:30 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 46940 / output.Length: 630

23:15:32 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:15:32 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:15:32 #3 [Debug] > pwd: C:\home\git\polyglot\apps\spiral

23:15:32 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:15:33 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:15:33 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:15:33 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:15:33 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:15:33 #9 [Debug] > Server bound to: http://localhost:13805

23:15:33 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 Tasks.dib -Retries 3""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:15:36 #11 [Debug] >

23:15:36 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:15:36 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:15:36 #14 [Debug] > │ ## Tasks (Polyglot)                                                          │

23:15:36 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:15:36 #16 [Debug] >

23:15:36 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:15:36 #18 [Debug] > // // rust

23:15:36 #19 [Debug] >

23:15:36 #20 [Debug] > inl types () =

23:15:36 #21 [Debug] >     global "[[<Fable.Core.Erase; Fable.Core.Emit(\"std::string::String\")>]]

23:15:36 #22 [Debug] > type std_string_String = class end"

23:15:36 #23 [Debug] >     global "[[<Fable.Core.Erase; Fable.Core.Emit(\"&$0\")>]] type Ref<'T> =

23:15:36 #24 [Debug] > class end"

23:15:36 #25 [Debug] >     global "[[<Fable.Core.Erase; Fable.Core.Emit(\"str\")>]] type Str = class

23:15:36 #26 [Debug] > end"

23:15:36 #27 [Debug] >

23:15:36 #28 [Debug] > inl emit_expr forall a t. (args : a) (code : string) : t =

23:15:36 #29 [Debug] >     real

23:15:36 #30 [Debug] >         $"Fable.Core.RustInterop.emitRustExpr !args !code" : t

23:15:36 #31 [Debug] >

23:15:36 #32 [Debug] >

23:15:36 #33 [Debug] > nominal std_string = $"std_string_String"

23:15:36 #34 [Debug] > nominal ref' t = $"Ref<`t>"

23:15:36 #35 [Debug] > nominal str = $"Str"

23:15:36 #36 [Debug] >

23:15:36 #37 [Debug] > inl format_debug forall t. (x : t) : std_string =

23:15:36 #38 [Debug] >     real

23:15:36 #39 [Debug] >         emit_expr `t `std_string x "format!(\"{:?}\", $0)"

23:15:36 #40 [Debug] >

23:15:36 #41 [Debug] > inl format_pretty forall t. (x : t) : std_string =

23:15:36 #42 [Debug] >     real

23:15:36 #43 [Debug] >         emit_expr `t `std_string x "format!(\"{:#?}\", $0)"

23:15:36 #44 [Debug] >

23:15:36 #45 [Debug] > inl to_std_string (str : ref' str) : std_string =

23:15:36 #46 [Debug] >     // inl str = join str

23:15:36 #47 [Debug] >     // // emit_expr () $"\"!str.to_string()\""

23:15:36 #48 [Debug] >     // // emit_expr () $"\"alloc::string::to_string(!str)\""

23:15:36 #49 [Debug] >     // emit_expr str "($0).to_string()"

23:15:36 #50 [Debug] >     emit_expr str $"\"String::from(core::ops::Deref::deref($0))\""

23:15:36 #51 [Debug] >     // emit_expr str $"\"String::from(*$0)\""

23:15:36 #52 [Debug] >     // emit_expr () $"\"String::from(!str)\""

23:15:36 #53 [Debug] >

23:15:36 #54 [Debug] > inl format forall t. (x : t) : std_string =

23:15:36 #55 [Debug] >     real

23:15:36 #56 [Debug] >         inl result : std_string =

23:15:36 #57 [Debug] >             typecase t with

23:15:36 #58 [Debug] >             | string => to_std_string x

23:15:36 #59 [Debug] >             | std_string => x

23:15:36 #60 [Debug] >             | _ => format_pretty `t x

23:15:36 #61 [Debug] >         result

23:15:36 #62 [Debug] >

23:15:36 #63 [Debug] > inl raw_string_literal (s : string) : ref' str =

23:15:36 #64 [Debug] >     emit_expr () $"\"r#\\\"\" + !s + \"\\\"#\""

23:15:36 #65 [Debug] >

23:15:36 #66 [Debug] > inl (~#) (s : string) : ref' str =

23:15:36 #67 [Debug] >     raw_string_literal s

23:15:40 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2315-3931-3106-3f3e0d941d87\main.spi

23:15:42 #69 [Debug] >

23:15:42 #70 [Debug] > ╭─[ 5.52s - stdout ]───────────────────────────────────────────────────────────╮

23:15:42 #71 [Debug] > │                                                                              │

23:15:42 #72 [Debug] > │ .fsx:                                                                        │

23:15:42 #73 [Debug] > │ ()                                                                           │

23:15:42 #74 [Debug] > │                                                                              │

23:15:42 #75 [Debug] > │                                                                              │

23:15:42 #76 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:15:42 #77 [Debug] >

23:15:42 #78 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:15:42 #79 [Debug] > // // rust

23:15:42 #80 [Debug] > // // timeout=180000

23:15:42 #81 [Debug] >

23:15:42 #82 [Debug] > nominal task_name = string

23:15:42 #83 [Debug] >

23:15:42 #84 [Debug] > union manual_scheduling =

23:15:42 #85 [Debug] >     | WithSuggestion

23:15:42 #86 [Debug] >     | WithoutSuggestion

23:15:42 #87 [Debug] >

23:15:42 #88 [Debug] > union recurrency_offset =

23:15:42 #89 [Debug] >     | Days : i32

23:15:42 #90 [Debug] >     | Weeks : i32

23:15:42 #91 [Debug] >     | Months : i32

23:15:42 #92 [Debug] >

23:15:42 #93 [Debug] > union day_of_week =

23:15:42 #94 [Debug] >     | Sunday

23:15:42 #95 [Debug] >     | Monday

23:15:42 #96 [Debug] >     | Tuesday

23:15:42 #97 [Debug] >     | Wednesday

23:15:42 #98 [Debug] >     | Thursday

23:15:42 #99 [Debug] >     | Friday

23:15:42 #100 [Debug] >     | Saturday

23:15:42 #101 [Debug] >

23:15:42 #102 [Debug] > union month =

23:15:42 #103 [Debug] >     | January

23:15:42 #104 [Debug] >     | February

23:15:42 #105 [Debug] >     | March

23:15:42 #106 [Debug] >     | April

23:15:42 #107 [Debug] >     | May

23:15:42 #108 [Debug] >     | June

23:15:42 #109 [Debug] >     | July

23:15:42 #110 [Debug] >     | August

23:15:42 #111 [Debug] >     | September

23:15:42 #112 [Debug] >     | October

23:15:42 #113 [Debug] >     | November

23:15:42 #114 [Debug] >     | December

23:15:42 #115 [Debug] >

23:15:42 #116 [Debug] > nominal day = i32

23:15:42 #117 [Debug] > nominal year = i32

23:15:42 #118 [Debug] >

23:15:42 #119 [Debug] > union fixed_recurrency =

23:15:42 #120 [Debug] >     | Weekly : day_of_week

23:15:42 #121 [Debug] >     | Monthly : day

23:15:42 #122 [Debug] >     | Yearly : day * month

23:15:42 #123 [Debug] >

23:15:42 #124 [Debug] > union recurrency =

23:15:42 #125 [Debug] >     | Offset : recurrency_offset

23:15:42 #126 [Debug] >     | Fixed : list fixed_recurrency

23:15:42 #127 [Debug] >

23:15:42 #128 [Debug] > union scheduling =

23:15:42 #129 [Debug] >     | Manual : manual_scheduling

23:15:42 #130 [Debug] >     | Recurrent : recurrency

23:15:42 #131 [Debug] >

23:15:42 #132 [Debug] > type task =

23:15:42 #133 [Debug] >     {

23:15:42 #134 [Debug] >         name : task_name

23:15:42 #135 [Debug] >         scheduling : scheduling

23:15:42 #136 [Debug] >     }

23:15:42 #137 [Debug] >

23:15:42 #138 [Debug] > type date =

23:15:42 #139 [Debug] >     {

23:15:42 #140 [Debug] >         year : year

23:15:42 #141 [Debug] >         month : month

23:15:42 #142 [Debug] >         day : day

23:15:42 #143 [Debug] >     }

23:15:42 #144 [Debug] >

23:15:42 #145 [Debug] > union status =

23:15:42 #146 [Debug] >     | Postponed : option ()

23:15:42 #147 [Debug] >

23:15:42 #148 [Debug] > type event =

23:15:42 #149 [Debug] >     {

23:15:42 #150 [Debug] >         date : date

23:15:42 #151 [Debug] >         status : status

23:15:42 #152 [Debug] >     }

23:15:42 #153 [Debug] >

23:15:42 #154 [Debug] > type task_template =

23:15:42 #155 [Debug] >     {

23:15:42 #156 [Debug] >         task : task

23:15:42 #157 [Debug] >         events : list event

23:15:42 #158 [Debug] >     }

23:15:42 #159 [Debug] >

23:15:42 #160 [Debug] > inl tasks : list task_template =

23:15:42 #161 [Debug] >     [[

23:15:42 #162 [Debug] >         {

23:15:42 #163 [Debug] >             task =

23:15:42 #164 [Debug] >                 {

23:15:42 #165 [Debug] >                     name = task_name "01"

23:15:42 #166 [Debug] >                     scheduling = Manual WithSuggestion

23:15:42 #167 [Debug] >                 }

23:15:42 #168 [Debug] >             events = [[]]

23:15:42 #169 [Debug] >         }

23:15:42 #170 [Debug] >         {

23:15:42 #171 [Debug] >             task =

23:15:42 #172 [Debug] >                 {

23:15:42 #173 [Debug] >                     name = task_name "02"

23:15:42 #174 [Debug] >                     scheduling = Manual WithSuggestion

23:15:42 #175 [Debug] >                 }

23:15:42 #176 [Debug] >             events = [[]]

23:15:42 #177 [Debug] >         }

23:15:42 #178 [Debug] >         {

23:15:42 #179 [Debug] >             task =

23:15:42 #180 [Debug] >                 {

23:15:42 #181 [Debug] >                     name = task_name "03"

23:15:42 #182 [Debug] >                     scheduling = Manual WithSuggestion

23:15:42 #183 [Debug] >                 }

23:15:42 #184 [Debug] >             events = [[]]

23:15:42 #185 [Debug] >         }

23:15:42 #186 [Debug] >     ]]

23:15:42 #187 [Debug] >

23:15:42 #188 [Debug] > types ()

23:15:42 #189 [Debug] >

23:15:42 #190 [Debug] > tasks |> format_pretty |> console.write_line

23:15:42 #191 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2315-4235-3566-3900c6613cee\main.spi

23:15:59 #192 [Debug] >

23:15:59 #193 [Debug] > ╭─[ 17.39s - return value ]────────────────────────────────────────────────────╮

23:15:59 #194 [Debug] > │ .rs output:                                                                  │

23:15:59 #195 [Debug] > │ UH2_0(                                                                       │

23:15:59 #196 [Debug] > │     UH0_1,                                                                   │

23:15:59 #197 [Debug] > │     "01",                                                                    │

23:15:59 #198 [Debug] > │     US4_0(                                                                   │

23:15:59 #199 [Debug] > │         US3_0,                                                               │

23:15:59 #200 [Debug] > │     ),                                                                       │

23:15:59 #201 [Debug] > │     UH2_0(                                                                   │

23:15:59 #202 [Debug] > │         UH0_1,                                                               │

23:15:59 #203 [Debug] > │         "02",                                                                │

23:15:59 #204 [Debug] > │         US4_0(                                                               │

23:15:59 #205 [Debug] > │             US3_0,                                                           │

23:15:59 #206 [Debug] > │         ),                                                                   │

23:15:59 #207 [Debug] > │         UH2_0(                                                               │

23:15:59 #208 [Debug] > │             UH0_1,                                                           │

23:15:59 #209 [Debug] > │             "03",                                                            │

23:15:59 #210 [Debug] > │             US4_0(                                                           │

23:15:59 #211 [Debug] > │                 US3_0,                                                       │

23:15:59 #212 [Debug] > │             ),                                                               │

23:15:59 #213 [Debug] > │             UH2_1,                                                           │

23:15:59 #214 [Debug] > │         ),                                                                   │

23:15:59 #215 [Debug] > │     ),                                                                       │

23:15:59 #216 [Debug] > │ )                                                                            │

23:15:59 #217 [Debug] > │                                                                              │

23:15:59 #218 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:15:59 #219 [Debug] >

23:15:59 #220 [Debug] > ╭─[ 17.43s - stdout ]──────────────────────────────────────────────────────────╮

23:15:59 #221 [Debug] > │                                                                              │

23:15:59 #222 [Debug] > │ .fsx:                                                                        │

23:15:59 #223 [Debug] > │ [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] type            │

23:15:59 #224 [Debug] > │ std_string_String = class end                                                │

23:15:59 #225 [Debug] > │ [<Fable.Core.Erase; Fable.Core.Emit("&$0")>] type Ref<'T> = class end        │

23:15:59 #226 [Debug] > │ [<Fable.Core.Erase; Fable.Core.Emit("str")>] type Str = class end            │

23:15:59 #227 [Debug] > │ type [<Struct>] US0 =                                                        │

23:15:59 #228 [Debug] > │     | US0_0                                                                  │

23:15:59 #229 [Debug] > │     | US0_1                                                                  │

23:15:59 #230 [Debug] > │     | US0_2                                                                  │

23:15:59 #231 [Debug] > │     | US0_3                                                                  │

23:15:59 #232 [Debug] > │     | US0_4                                                                  │

23:15:59 #233 [Debug] > │     | US0_5                                                                  │

23:15:59 #234 [Debug] > │     | US0_6                                                                  │

23:15:59 #235 [Debug] > │     | US0_7                                                                  │

23:15:59 #236 [Debug] > │     | US0_8                                                                  │

23:15:59 #237 [Debug] > │     | US0_9                                                                  │

23:15:59 #238 [Debug] > │     | US0_10                                                                 │

23:15:59 #239 [Debug] > │     | US0_11                                                                 │

23:15:59 #240 [Debug] > │ and [<Struct>] US2 =                                                         │

23:15:59 #241 [Debug] > │     | US2_0                                                                  │

23:15:59 #242 [Debug] > │     | US2_1                                                                  │

23:15:59 #243 [Debug] > │ and [<Struct>] US1 =                                                         │

23:15:59 #244 [Debug] > │     | US1_0 of f0_0 : US2                                                    │

23:15:59 #245 [Debug] > │ and UH0 =                                                                    │

23:15:59 #246 [Debug] > │     | UH0_0 of int32 * US0 * int32 * US1 * UH0                               │

23:15:59 #247 [Debug] > │     | UH0_1                                                                  │

23:15:59 #248 [Debug] > │ and [<Struct>] US3 =                                                         │

23:15:59 #249 [Debug] > │     | US3_0                                                                  │

23:15:59 #250 [Debug] > │     | US3_1                                                                  │

23:15:59 #251 [Debug] > │ and [<Struct>] US7 =                                                         │

23:15:59 #252 [Debug] > │     | US7_0                                                                  │

23:15:59 #253 [Debug] > │     | US7_1                                                                  │

23:15:59 #254 [Debug] > │     | US7_2                                                                  │

23:15:59 #255 [Debug] > │     | US7_3                                                                  │

23:15:59 #256 [Debug] > │     | US7_4                                                                  │

23:15:59 #257 [Debug] > │     | US7_5                                                                  │

23:15:59 #258 [Debug] > │     | US7_6                                                                  │

23:15:59 #259 [Debug] > │ and [<Struct>] US6 =                                                         │

23:15:59 #260 [Debug] > │     | US6_0 of f0_0 : int32                                                  │

23:15:59 #261 [Debug] > │     | US6_1 of f1_0 : US7                                                    │

23:15:59 #262 [Debug] > │     | US6_2 of f2_0 : int32 * f2_1 : US0                                     │

23:15:59 #263 [Debug] > │ and UH1 =                                                                    │

23:15:59 #264 [Debug] > │     | UH1_0 of US6 * UH1                                                     │

23:15:59 #265 [Debug] > │     | UH1_1                                                                  │

23:15:59 #266 [Debug] > │ and [<Struct>] US8 =                                                         │

23:15:59 #267 [Debug] > │     | US8_0 of f0_0 : int32                                                  │

23:15:59 #268 [Debug] > │     | US8_1 of f1_0 : int32                                                  │

23:15:59 #269 [Debug] > │     | US8_2 of f2_0 : int32                                                  │

23:15:59 #270 [Debug] > │ and [<Struct>] US5 =                                                         │

23:15:59 #271 [Debug] > │     | US5_0 of f0_0 : UH1                                                    │

23:15:59 #272 [Debug] > │     | US5_1 of f1_0 : US8                                                    │

23:15:59 #273 [Debug] > │ and [<Struct>] US4 =                                                         │

23:15:59 #274 [Debug] > │     | US4_0 of f0_0 : US3                                                    │

23:15:59 #275 [Debug] > │     | US4_1 of f1_0 : US5                                                    │

23:15:59 #276 [Debug] > │ and UH2 =                                                                    │

23:15:59 #277 [Debug] > │     | UH2_0 of UH0 * string * US4 * UH2                                      │

23:15:59 #278 [Debug] > │     | UH2_1                                                                  │

23:15:59 #279 [Debug] > │ let rec method0 () : unit =                                                  │

23:15:59 #280 [Debug] > │     let v0 : UH0 = UH0_1                                                     │

23:15:59 #281 [Debug] > │     let v1 : string = "01"                                                   │

23:15:59 #282 [Debug] > │     let v2 : US3 = US3_0                                                     │

23:15:59 #283 [Debug] > │     let v3 : US4 = US4_0(v2)                                                 │

23:15:59 #284 [Debug] > │     let v4 : UH0 = UH0_1                                                     │

23:15:59 #285 [Debug] > │     let v5 : string = "02"                                                   │

23:15:59 #286 [Debug] > │     let v6 : US3 = US3_0                                                     │

23:15:59 #287 [Debug] > │     let v7 : US4 = US4_0(v6)                                                 │

23:15:59 #288 [Debug] > │     let v8 : UH0 = UH0_1                                                     │

23:15:59 #289 [Debug] > │     let v9 : string = "03"                                                   │

23:15:59 #290 [Debug] > │     let v10 : US3 = US3_0                                                    │

23:15:59 #291 [Debug] > │     let v11 : US4 = US4_0(v10)                                               │

23:15:59 #292 [Debug] > │     let v12 : UH2 = UH2_1                                                    │

23:15:59 #293 [Debug] > │     let v13 : UH2 = UH2_0(v8, v9, v11, v12)                                  │

23:15:59 #294 [Debug] > │     let v14 : UH2 = UH2_0(v4, v5, v7, v13)                                   │

23:15:59 #295 [Debug] > │     let v15 : UH2 = UH2_0(v0, v1, v3, v14)                                   │

23:15:59 #296 [Debug] > │     let v16 : string = "format!(\"{:#?}\", $0)"                              │

23:15:59 #297 [Debug] > │     let v17 : std_string_String = Fable.Core.RustInterop.emitRustExpr v15    │

23:15:59 #298 [Debug] > │ v16                                                                          │

23:15:59 #299 [Debug] > │     System.Console.WriteLine v17                                             │

23:15:59 #300 [Debug] > │     ()                                                                       │

23:15:59 #301 [Debug] > │ method0()                                                                    │

23:15:59 #302 [Debug] > │                                                                              │

23:15:59 #303 [Debug] > │ .rs:                                                                         │

23:15:59 #304 [Debug] > │ #![allow(dead_code,)]                                                        │

23:15:59 #305 [Debug] > │ #![allow(non_camel_case_types,)]                                             │

23:15:59 #306 [Debug] > │ #![allow(non_snake_case,)]                                                   │

23:15:59 #307 [Debug] > │ #![allow(non_upper_case_globals,)]                                           │

23:15:59 #308 [Debug] > │ #![allow(unreachable_code,)]                                                 │

23:15:59 #309 [Debug] > │ #![allow(unused_attributes,)]                                                │

23:15:59 #310 [Debug] > │ #![allow(unused_imports,)]                                                   │

23:15:59 #311 [Debug] > │ #![allow(unused_macros,)]                                                    │

23:15:59 #312 [Debug] > │ #![allow(unused_parens,)]                                                    │

23:15:59 #313 [Debug] > │ #![allow(unused_variables,)]                                                 │

23:15:59 #314 [Debug] > │ pub mod                                                                      │

23:15:59 #315 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 {      │

23:15:59 #316 [Debug] > │     use super::*;                                                            │

23:15:59 #317 [Debug] > │     use fable_library_rust::Native_::Any;                                    │

23:15:59 #318 [Debug] > │     use fable_library_rust::Native_::LrcPtr;                                 │

23:15:59 #319 [Debug] > │     use fable_library_rust::Native_::on_startup;                             │

23:15:59 #320 [Debug] > │     use fable_library_rust::String_::string;                                 │

23:15:59 #321 [Debug] > │     #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]     │

23:15:59 #322 [Debug] > │     pub enum US0 {                                                           │

23:15:59 #323 [Debug] > │         US0_0,                                                               │

23:15:59 #324 [Debug] > │         US0_1,                                                               │

23:15:59 #325 [Debug] > │         US0_2,                                                               │

23:15:59 #326 [Debug] > │         US0_3,                                                               │

23:15:59 #327 [Debug] > │         US0_4,                                                               │

23:15:59 #328 [Debug] > │         US0_5,                                                               │

23:15:59 #329 [Debug] > │         US0_6,                                                               │

23:15:59 #330 [Debug] > │         US0_7,                                                               │

23:15:59 #331 [Debug] > │         US0_8,                                                               │

23:15:59 #332 [Debug] > │         US0_9,                                                               │

23:15:59 #333 [Debug] > │         US0_10,                                                              │

23:15:59 #334 [Debug] > │         US0_11,                                                              │

23:15:59 #335 [Debug] > │     }                                                                        │

23:15:59 #336 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #337 [Debug] > │                                                                              │

23:15:59 #338 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US0   │

23:15:59 #339 [Debug] > │      {                                                                       │

23:15:59 #340 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #341 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #342 [Debug] > │         }                                                                    │

23:15:59 #343 [Debug] > │     }                                                                        │

23:15:59 #344 [Debug] > │     #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]     │

23:15:59 #345 [Debug] > │     pub enum US2 { US2_0, US2_1, }                                           │

23:15:59 #346 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #347 [Debug] > │                                                                              │

23:15:59 #348 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US2   │

23:15:59 #349 [Debug] > │      {                                                                       │

23:15:59 #350 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #351 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #352 [Debug] > │         }                                                                    │

23:15:59 #353 [Debug] > │     }                                                                        │

23:15:59 #354 [Debug] > │     #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]     │

23:15:59 #355 [Debug] > │     pub enum US1 {                                                           │

23:15:59 #356 [Debug] > │                                                                              │

23:15:59 #357 [Debug] > │ US1_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #358 [Debug] > │ :US2),                                                                       │

23:15:59 #359 [Debug] > │     }                                                                        │

23:15:59 #360 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #361 [Debug] > │                                                                              │

23:15:59 #362 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US1   │

23:15:59 #363 [Debug] > │      {                                                                       │

23:15:59 #364 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #365 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #366 [Debug] > │         }                                                                    │

23:15:59 #367 [Debug] > │     }                                                                        │

23:15:59 #368 [Debug] > │     #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]           │

23:15:59 #369 [Debug] > │     pub enum UH0 {                                                           │

23:15:59 #370 [Debug] > │         UH0_0(i32,                                                           │

23:15:59 #371 [Debug] > │                                                                              │

23:15:59 #372 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US0,  │

23:15:59 #373 [Debug] > │               i32,                                                           │

23:15:59 #374 [Debug] > │                                                                              │

23:15:59 #375 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US1,  │

23:15:59 #376 [Debug] > │                                                                              │

23:15:59 #377 [Debug] > │ LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 │

23:15:59 #378 [Debug] > │ ::UH0>),                                                                     │

23:15:59 #379 [Debug] > │         UH0_1,                                                               │

23:15:59 #380 [Debug] > │     }                                                                        │

23:15:59 #381 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #382 [Debug] > │                                                                              │

23:15:59 #383 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::UH0   │

23:15:59 #384 [Debug] > │      {                                                                       │

23:15:59 #385 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #386 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #387 [Debug] > │         }                                                                    │

23:15:59 #388 [Debug] > │     }                                                                        │

23:15:59 #389 [Debug] > │     #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]     │

23:15:59 #390 [Debug] > │     pub enum US3 { US3_0, US3_1, }                                           │

23:15:59 #391 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #392 [Debug] > │                                                                              │

23:15:59 #393 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US3   │

23:15:59 #394 [Debug] > │      {                                                                       │

23:15:59 #395 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #396 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #397 [Debug] > │         }                                                                    │

23:15:59 #398 [Debug] > │     }                                                                        │

23:15:59 #399 [Debug] > │     #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]     │

23:15:59 #400 [Debug] > │     pub enum US7 { US7_0, US7_1, US7_2, US7_3, US7_4, US7_5, US7_6, }        │

23:15:59 #401 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #402 [Debug] > │                                                                              │

23:15:59 #403 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US7   │

23:15:59 #404 [Debug] > │      {                                                                       │

23:15:59 #405 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #406 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #407 [Debug] > │         }                                                                    │

23:15:59 #408 [Debug] > │     }                                                                        │

23:15:59 #409 [Debug] > │     #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]     │

23:15:59 #410 [Debug] > │     pub enum US6 {                                                           │

23:15:59 #411 [Debug] > │         US6_0(i32),                                                          │

23:15:59 #412 [Debug] > │                                                                              │

23:15:59 #413 [Debug] > │ US6_1(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #414 [Debug] > │ :US7),                                                                       │

23:15:59 #415 [Debug] > │         US6_2(i32,                                                           │

23:15:59 #416 [Debug] > │                                                                              │

23:15:59 #417 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US0), │

23:15:59 #418 [Debug] > │     }                                                                        │

23:15:59 #419 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #420 [Debug] > │                                                                              │

23:15:59 #421 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US6   │

23:15:59 #422 [Debug] > │      {                                                                       │

23:15:59 #423 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #424 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #425 [Debug] > │         }                                                                    │

23:15:59 #426 [Debug] > │     }                                                                        │

23:15:59 #427 [Debug] > │     #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]           │

23:15:59 #428 [Debug] > │     pub enum UH1 {                                                           │

23:15:59 #429 [Debug] > │                                                                              │

23:15:59 #430 [Debug] > │ UH1_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #431 [Debug] > │ :US6,                                                                        │

23:15:59 #432 [Debug] > │                                                                              │

23:15:59 #433 [Debug] > │ LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 │

23:15:59 #434 [Debug] > │ ::UH1>),                                                                     │

23:15:59 #435 [Debug] > │         UH1_1,                                                               │

23:15:59 #436 [Debug] > │     }                                                                        │

23:15:59 #437 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #438 [Debug] > │                                                                              │

23:15:59 #439 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::UH1   │

23:15:59 #440 [Debug] > │      {                                                                       │

23:15:59 #441 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #442 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #443 [Debug] > │         }                                                                    │

23:15:59 #444 [Debug] > │     }                                                                        │

23:15:59 #445 [Debug] > │     #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]     │

23:15:59 #446 [Debug] > │     pub enum US8 { US8_0(i32), US8_1(i32), US8_2(i32), }                     │

23:15:59 #447 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #448 [Debug] > │                                                                              │

23:15:59 #449 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US8   │

23:15:59 #450 [Debug] > │      {                                                                       │

23:15:59 #451 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #452 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #453 [Debug] > │         }                                                                    │

23:15:59 #454 [Debug] > │     }                                                                        │

23:15:59 #455 [Debug] > │     #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]           │

23:15:59 #456 [Debug] > │     pub enum US5 {                                                           │

23:15:59 #457 [Debug] > │                                                                              │

23:15:59 #458 [Debug] > │ US5_0(LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035 │

23:15:59 #459 [Debug] > │ be2596::UH1>),                                                               │

23:15:59 #460 [Debug] > │                                                                              │

23:15:59 #461 [Debug] > │ US5_1(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #462 [Debug] > │ :US8),                                                                       │

23:15:59 #463 [Debug] > │     }                                                                        │

23:15:59 #464 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #465 [Debug] > │                                                                              │

23:15:59 #466 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US5   │

23:15:59 #467 [Debug] > │      {                                                                       │

23:15:59 #468 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #469 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #470 [Debug] > │         }                                                                    │

23:15:59 #471 [Debug] > │     }                                                                        │

23:15:59 #472 [Debug] > │     #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]           │

23:15:59 #473 [Debug] > │     pub enum US4 {                                                           │

23:15:59 #474 [Debug] > │                                                                              │

23:15:59 #475 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #476 [Debug] > │ :US3),                                                                       │

23:15:59 #477 [Debug] > │                                                                              │

23:15:59 #478 [Debug] > │ US4_1(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #479 [Debug] > │ :US5),                                                                       │

23:15:59 #480 [Debug] > │     }                                                                        │

23:15:59 #481 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #482 [Debug] > │                                                                              │

23:15:59 #483 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4   │

23:15:59 #484 [Debug] > │      {                                                                       │

23:15:59 #485 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #486 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #487 [Debug] > │         }                                                                    │

23:15:59 #488 [Debug] > │     }                                                                        │

23:15:59 #489 [Debug] > │     #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)]           │

23:15:59 #490 [Debug] > │     pub enum UH2 {                                                           │

23:15:59 #491 [Debug] > │                                                                              │

23:15:59 #492 [Debug] > │ UH2_0(LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035 │

23:15:59 #493 [Debug] > │ be2596::UH0>,                                                                │

23:15:59 #494 [Debug] > │               string,                                                        │

23:15:59 #495 [Debug] > │                                                                              │

23:15:59 #496 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4,  │

23:15:59 #497 [Debug] > │                                                                              │

23:15:59 #498 [Debug] > │ LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 │

23:15:59 #499 [Debug] > │ ::UH2>),                                                                     │

23:15:59 #500 [Debug] > │         UH2_1,                                                               │

23:15:59 #501 [Debug] > │     }                                                                        │

23:15:59 #502 [Debug] > │     impl core::fmt::Display for                                              │

23:15:59 #503 [Debug] > │                                                                              │

23:15:59 #504 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::UH2   │

23:15:59 #505 [Debug] > │      {                                                                       │

23:15:59 #506 [Debug] > │         fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {   │

23:15:59 #507 [Debug] > │             write!(f, "{}", core::any::type_name::<Self>())                  │

23:15:59 #508 [Debug] > │         }                                                                    │

23:15:59 #509 [Debug] > │     }                                                                        │

23:15:59 #510 [Debug] > │     pub fn method0() {                                                       │

23:15:59 #511 [Debug] > │         let v17: std::string::String =                                       │

23:15:59 #512 [Debug] > │             format!("{:#?}",                                                 │

23:15:59 #513 [Debug] > │ &LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035 │

23:15:59 #514 [Debug] > │ be2596::UH2::UH2_0(LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c │

23:15:59 #515 [Debug] > │ 660e3767a68d3ac035be2596::UH0::UH0_1),                                       │

23:15:59 #516 [Debug] > │                                                                              │

23:15:59 #517 [Debug] > │ string("01"),                                                                │

23:15:59 #518 [Debug] > │                                                                              │

23:15:59 #519 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4:: │

23:15:59 #520 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #521 [Debug] > │ :US3::US3_0),                                                                │

23:15:59 #522 [Debug] > │                                                                              │

23:15:59 #523 [Debug] > │ LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │

23:15:59 #524 [Debug] > │ e2596::UH2::UH2_0(LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c6 │

23:15:59 #525 [Debug] > │ 60e3767a68d3ac035be2596::UH0::UH0_1),                                        │

23:15:59 #526 [Debug] > │                                                                              │

23:15:59 #527 [Debug] > │                                                                              │

23:15:59 #528 [Debug] > │ string("02"),                                                                │

23:15:59 #529 [Debug] > │                                                                              │

23:15:59 #530 [Debug] > │                                                                              │

23:15:59 #531 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4:: │

23:15:59 #532 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #533 [Debug] > │ :US3::US3_0),                                                                │

23:15:59 #534 [Debug] > │                                                                              │

23:15:59 #535 [Debug] > │                                                                              │

23:15:59 #536 [Debug] > │ LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │

23:15:59 #537 [Debug] > │ e2596::UH2::UH2_0(LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c6 │

23:15:59 #538 [Debug] > │ 60e3767a68d3ac035be2596::UH0::UH0_1),                                        │

23:15:59 #539 [Debug] > │                                                                              │

23:15:59 #540 [Debug] > │                                                                              │

23:15:59 #541 [Debug] > │         string("03"),                                                        │

23:15:59 #542 [Debug] > │                                                                              │

23:15:59 #543 [Debug] > │                                                                              │

23:15:59 #544 [Debug] > │                                                                              │

23:15:59 #545 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4:: │

23:15:59 #546 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │

23:15:59 #547 [Debug] > │ :US3::US3_0),                                                                │

23:15:59 #548 [Debug] > │                                                                              │

23:15:59 #549 [Debug] > │                                                                              │

23:15:59 #550 [Debug] > │                                                                              │

23:15:59 #551 [Debug] > │ LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │

23:15:59 #552 [Debug] > │ e2596::UH2::UH2_1))))))));                                                   │

23:15:59 #553 [Debug] > │         println!("{0}", &v17,);                                              │

23:15:59 #554 [Debug] > │         ()                                                                   │

23:15:59 #555 [Debug] > │     }                                                                        │

23:15:59 #556 [Debug] > │                                                                              │

23:15:59 #557 [Debug] > │ on_startup!(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │

23:15:59 #558 [Debug] > │ e2596::method0());                                                           │

23:15:59 #559 [Debug] > │ }                                                                            │

23:15:59 #560 [Debug] > │                                                                              │

23:15:59 #561 [Debug] > │                                                                              │

23:15:59 #562 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:15:59 #563 [Debug] >

23:15:59 #564 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:15:59 #565 [Debug] > // // test

23:15:59 #566 [Debug] >

23:15:59 #567 [Debug] > ()

23:16:00 #568 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2315-5997-9704-9c5b61d3d6ae\main.spi

23:16:00 #569 [Debug] >

23:16:00 #570 [Debug] > ╭─[ 529.12ms - stdout ]────────────────────────────────────────────────────────╮

23:16:00 #571 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:00 #572 [Debug] > │     ()                                                                       │

23:16:00 #573 [Debug] > │ method0()                                                                    │

23:16:00 #574 [Debug] > │                                                                              │

23:16:00 #575 [Debug] > │                                                                              │

23:16:00 #576 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:00 #577 [Debug] >

23:16:00 #578 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:00 #579 [Debug] > // // test

23:16:00 #580 [Debug] >

23:16:00 #581 [Debug] > ()

23:16:00 #582 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0050-5019-5386c0881a3d\main.spi

23:16:00 #583 [Debug] >

23:16:00 #584 [Debug] > ╭─[ 156.45ms - stdout ]────────────────────────────────────────────────────────╮

23:16:00 #585 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:00 #586 [Debug] > │     ()                                                                       │

23:16:00 #587 [Debug] > │ method0()                                                                    │

23:16:00 #588 [Debug] > │                                                                              │

23:16:00 #589 [Debug] > │                                                                              │

23:16:00 #590 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:00 #591 [Debug] >

23:16:00 #592 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:00 #593 [Debug] > // // test

23:16:00 #594 [Debug] >

23:16:00 #595 [Debug] > ()

23:16:00 #596 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0066-6651-66f8e1e2ffc1\main.spi

23:16:00 #597 [Debug] >

23:16:00 #598 [Debug] > ╭─[ 158.95ms - stdout ]────────────────────────────────────────────────────────╮

23:16:00 #599 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:00 #600 [Debug] > │     ()                                                                       │

23:16:00 #601 [Debug] > │ method0()                                                                    │

23:16:00 #602 [Debug] > │                                                                              │

23:16:00 #603 [Debug] > │                                                                              │

23:16:00 #604 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:00 #605 [Debug] >

23:16:00 #606 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:00 #607 [Debug] > // // test

23:16:00 #608 [Debug] >

23:16:00 #609 [Debug] > ()

23:16:00 #610 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0083-8328-8fa4c573a2c0\main.spi

23:16:00 #611 [Debug] >

23:16:00 #612 [Debug] > ╭─[ 153.62ms - stdout ]────────────────────────────────────────────────────────╮

23:16:00 #613 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:00 #614 [Debug] > │     ()                                                                       │

23:16:00 #615 [Debug] > │ method0()                                                                    │

23:16:00 #616 [Debug] > │                                                                              │

23:16:00 #617 [Debug] > │                                                                              │

23:16:00 #618 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:00 #619 [Debug] >

23:16:00 #620 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:00 #621 [Debug] > // // test

23:16:00 #622 [Debug] >

23:16:00 #623 [Debug] > ()

23:16:01 #624 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0098-9859-9a7e60cc5295\main.spi

23:16:01 #625 [Debug] >

23:16:01 #626 [Debug] > ╭─[ 152.87ms - stdout ]────────────────────────────────────────────────────────╮

23:16:01 #627 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:01 #628 [Debug] > │     ()                                                                       │

23:16:01 #629 [Debug] > │ method0()                                                                    │

23:16:01 #630 [Debug] > │                                                                              │

23:16:01 #631 [Debug] > │                                                                              │

23:16:01 #632 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:01 #633 [Debug] >

23:16:01 #634 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:01 #635 [Debug] > // // test

23:16:01 #636 [Debug] >

23:16:01 #637 [Debug] > ()

23:16:01 #638 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0114-1423-1dfca51afaa5\main.spi

23:16:01 #639 [Debug] >

23:16:01 #640 [Debug] > ╭─[ 138.38ms - stdout ]────────────────────────────────────────────────────────╮

23:16:01 #641 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:01 #642 [Debug] > │     ()                                                                       │

23:16:01 #643 [Debug] > │ method0()                                                                    │

23:16:01 #644 [Debug] > │                                                                              │

23:16:01 #645 [Debug] > │                                                                              │

23:16:01 #646 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:03 #647 [Debug] > [NbConvertApp] Converting notebook Tasks.dib.ipynb to html

23:16:03 #648 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:16:03 #649 [Debug] >   validate(nb)

23:16:04 #650 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:16:04 #651 [Debug] >   return _pygments_highlight(

23:16:04 #652 [Debug] > [NbConvertApp] Writing 305431 bytes to Tasks.dib.html

23:16:06 #653 [Debug] executeAsync / exitCode: 0 / proc.Id: 38988 / output.Length: 39113

23:16:06 #654 [Debug] main / executeCommand / exitCode: 0

In [ ]:
{ . "$ScriptDir/../lib/spiral/build.ps1" } | Invoke-Block
23:16:08 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:16:08 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:16:08 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:16:08 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:16:08 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:16:08 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:16:09 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:16:09 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:16:09 #9 [Debug] > Server bound to: http://localhost:13805

23:16:09 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 testing.dib""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:16:12 #11 [Debug] >

23:16:12 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:12 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:12 #14 [Debug] > │ # testing                                                                    │

23:16:12 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:12 #16 [Debug] >

23:16:12 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:12 #18 [Debug] > inl _almost_equal b a =

23:16:12 #19 [Debug] >     assert (abs (b - a) < 0.00000001) $"$\"_almost_equal / actual: %A{!a}

23:16:12 #20 [Debug] > expected: %A{!b}\""

23:16:12 #21 [Debug] >

23:16:12 #22 [Debug] > inl _equal b a =

23:16:12 #23 [Debug] >     assert (a = b) $"$\"_equal / actual: %A{!a} / expected: %A{!b}\""

23:16:12 #24 [Debug] >

23:16:12 #25 [Debug] > inl _is_less_than b a =

23:16:12 #26 [Debug] >     assert (b < a) $"$\"_is_less_than / actual: %A{!a} / expected: %A{!b}\""

23:16:12 #27 [Debug] >

23:16:12 #28 [Debug] > inl _is_less_than_or_equal b a =

23:16:12 #29 [Debug] >     assert (b <= a) $"$\"_is_less_than_or_equal / actual: %A{!a} / expected:

23:16:12 #30 [Debug] > %A{!b}\""

23:16:12 #31 [Debug] >

23:16:12 #32 [Debug] > inl _throws (fn : () -> ()) : option string =

23:16:12 #33 [Debug] >     inl none = None : option string

23:16:12 #34 [Debug] >     inl some (s : string) = Some s

23:16:12 #35 [Debug] >     $"try !fn (); !none with ex -> !some ex.Message"

23:16:16 #36 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-1531-3118-369ff8417520\main.spi

23:16:19 #37 [Debug] >

23:16:19 #38 [Debug] > ╭─[ 6.90s - stdout ]───────────────────────────────────────────────────────────╮

23:16:19 #39 [Debug] > │ ()                                                                           │

23:16:19 #40 [Debug] > │                                                                              │

23:16:19 #41 [Debug] > │                                                                              │

23:16:19 #42 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:19 #43 [Debug] >

23:16:19 #44 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:19 #45 [Debug] > inl print_and_return x =

23:16:19 #46 [Debug] >     $"printfn $\"print_and_return / x: {!x}\""

23:16:19 #47 [Debug] >     x

23:16:19 #48 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-1955-5535-59ca530ced38\main.spi

23:16:19 #49 [Debug] >

23:16:19 #50 [Debug] > ╭─[ 148.51ms - stdout ]────────────────────────────────────────────────────────╮

23:16:19 #51 [Debug] > │ ()                                                                           │

23:16:19 #52 [Debug] > │                                                                              │

23:16:19 #53 [Debug] > │                                                                              │

23:16:19 #54 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:21 #55 [Debug] > [NbConvertApp] Converting notebook testing.dib.ipynb to html

23:16:21 #56 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:16:21 #57 [Debug] >   validate(nb)

23:16:22 #58 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:16:22 #59 [Debug] >   return _pygments_highlight(

23:16:22 #60 [Debug] > [NbConvertApp] Writing 274807 bytes to testing.dib.html

23:16:23 #61 [Debug] executeAsync / exitCode: 0 / proc.Id: 80636 / output.Length: 2726

23:16:23 #62 [Debug] main / executeCommand / exitCode: 0

23:16:24 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:16:24 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:16:24 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:16:24 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:16:24 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:16:24 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:16:25 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:16:25 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:16:25 #9 [Debug] > Server bound to: http://localhost:13805

23:16:25 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 common.dib""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:16:28 #11 [Debug] >

23:16:28 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:28 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:28 #14 [Debug] > │ # common                                                                     │

23:16:28 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:28 #16 [Debug] >

23:16:28 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:28 #18 [Debug] > // // test

23:16:28 #19 [Debug] >

23:16:28 #20 [Debug] > open testing

23:16:31 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3079-7963-7d8089280400\main.spi

23:16:33 #22 [Debug] >

23:16:33 #23 [Debug] > ╭─[ 5.60s - stdout ]───────────────────────────────────────────────────────────╮

23:16:33 #24 [Debug] > │ ()                                                                           │

23:16:33 #25 [Debug] > │                                                                              │

23:16:33 #26 [Debug] > │                                                                              │

23:16:33 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:33 #28 [Debug] >

23:16:33 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:33 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:33 #31 [Debug] > │ ## pair                                                                      │

23:16:33 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:33 #33 [Debug] >

23:16:33 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:33 #35 [Debug] > inl pair x y =

23:16:33 #36 [Debug] >     x, y

23:16:33 #37 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3385-8509-8b84bcdbf234\main.spi

23:16:34 #38 [Debug] >

23:16:34 #39 [Debug] > ╭─[ 207.27ms - stdout ]────────────────────────────────────────────────────────╮

23:16:34 #40 [Debug] > │ ()                                                                           │

23:16:34 #41 [Debug] > │                                                                              │

23:16:34 #42 [Debug] > │                                                                              │

23:16:34 #43 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:34 #44 [Debug] >

23:16:34 #45 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:34 #46 [Debug] > // // test

23:16:34 #47 [Debug] >

23:16:34 #48 [Debug] > pair 1i32 2i32

23:16:34 #49 [Debug] > |> _equal (1, 2)

23:16:34 #50 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3405-0593-0a0dd456e704\main.spi

23:16:34 #51 [Debug] >

23:16:34 #52 [Debug] > ╭─[ 711.57ms - stdout ]────────────────────────────────────────────────────────╮

23:16:34 #53 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:34 #54 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (1, 2)} / expected:       │

23:16:34 #55 [Debug] > │ %A{struct (1, 2)}"                                                           │

23:16:34 #56 [Debug] > │     ()                                                                       │

23:16:34 #57 [Debug] > │ method0()                                                                    │

23:16:34 #58 [Debug] > │                                                                              │

23:16:34 #59 [Debug] > │                                                                              │

23:16:34 #60 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:34 #61 [Debug] >

23:16:34 #62 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:34 #63 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:34 #64 [Debug] > │ ## ||>                                                                       │

23:16:34 #65 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:34 #66 [Debug] >

23:16:34 #67 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:34 #68 [Debug] > inl (||>) (arg1, arg2) fn = arg2 |> fn arg1

23:16:34 #69 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3477-7768-7bb3c62669aa\main.spi

23:16:34 #70 [Debug] >

23:16:34 #71 [Debug] > ╭─[ 136.14ms - stdout ]────────────────────────────────────────────────────────╮

23:16:34 #72 [Debug] > │ ()                                                                           │

23:16:34 #73 [Debug] > │                                                                              │

23:16:34 #74 [Debug] > │                                                                              │

23:16:34 #75 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:34 #76 [Debug] >

23:16:34 #77 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:34 #78 [Debug] > // // test

23:16:34 #79 [Debug] >

23:16:34 #80 [Debug] > (3i32, 2i32)

23:16:34 #81 [Debug] > ||> fun a b => a - b

23:16:34 #82 [Debug] > |> _equal 1

23:16:35 #83 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3491-9179-97b755545655\main.spi

23:16:35 #84 [Debug] >

23:16:35 #85 [Debug] > ╭─[ 149.00ms - stdout ]────────────────────────────────────────────────────────╮

23:16:35 #86 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:35 #87 [Debug] > │     let v0 : string = $"_equal / actual: %A{1} / expected: %A{1}"            │

23:16:35 #88 [Debug] > │     ()                                                                       │

23:16:35 #89 [Debug] > │ method0()                                                                    │

23:16:35 #90 [Debug] > │                                                                              │

23:16:35 #91 [Debug] > │                                                                              │

23:16:35 #92 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:35 #93 [Debug] >

23:16:35 #94 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:35 #95 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:35 #96 [Debug] > │ ## flip                                                                      │

23:16:35 #97 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:35 #98 [Debug] >

23:16:35 #99 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:35 #100 [Debug] > inl flip fn a b =

23:16:35 #101 [Debug] >     fn b a

23:16:35 #102 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3507-0745-04f5be6fed3c\main.spi

23:16:35 #103 [Debug] >

23:16:35 #104 [Debug] > ╭─[ 153.25ms - stdout ]────────────────────────────────────────────────────────╮

23:16:35 #105 [Debug] > │ ()                                                                           │

23:16:35 #106 [Debug] > │                                                                              │

23:16:35 #107 [Debug] > │                                                                              │

23:16:35 #108 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:35 #109 [Debug] >

23:16:35 #110 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:35 #111 [Debug] > // // test

23:16:35 #112 [Debug] >

23:16:35 #113 [Debug] > (1i32, 2i32)

23:16:35 #114 [Debug] > ||> flip pair

23:16:35 #115 [Debug] > |> _equal (2, 1)

23:16:35 #116 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3522-2295-251be9feaecc\main.spi

23:16:35 #117 [Debug] >

23:16:35 #118 [Debug] > ╭─[ 128.36ms - stdout ]────────────────────────────────────────────────────────╮

23:16:35 #119 [Debug] > │ let rec method0 () : unit =                                                  │

23:16:35 #120 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (2, 1)} / expected:       │

23:16:35 #121 [Debug] > │ %A{struct (2, 1)}"                                                           │

23:16:35 #122 [Debug] > │     ()                                                                       │

23:16:35 #123 [Debug] > │ method0()                                                                    │

23:16:35 #124 [Debug] > │                                                                              │

23:16:35 #125 [Debug] > │                                                                              │

23:16:35 #126 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:37 #127 [Debug] > [NbConvertApp] Converting notebook common.dib.ipynb to html

23:16:37 #128 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:16:37 #129 [Debug] >   validate(nb)

23:16:38 #130 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:16:38 #131 [Debug] >   return _pygments_highlight(

23:16:38 #132 [Debug] > [NbConvertApp] Writing 280115 bytes to common.dib.html

23:16:39 #133 [Debug] executeAsync / exitCode: 0 / proc.Id: 16892 / output.Length: 6628

23:16:39 #134 [Debug] main / executeCommand / exitCode: 0

23:16:39 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:16:39 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:16:40 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:16:40 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:16:40 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:16:40 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:16:41 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:16:41 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:16:41 #9 [Debug] > Server bound to: http://localhost:13805

23:16:41 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 console.dib""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:16:43 #11 [Debug] >

23:16:43 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:43 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:43 #14 [Debug] > │ # console                                                                    │

23:16:43 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:43 #16 [Debug] >

23:16:43 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:43 #18 [Debug] > // // test

23:16:43 #19 [Debug] >

23:16:43 #20 [Debug] > open testing

23:16:47 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-4630-3012-35ef0303c3e0\main.spi

23:16:49 #22 [Debug] >

23:16:49 #23 [Debug] > ╭─[ 5.56s - stdout ]───────────────────────────────────────────────────────────╮

23:16:49 #24 [Debug] > │ ()                                                                           │

23:16:49 #25 [Debug] > │                                                                              │

23:16:49 #26 [Debug] > │                                                                              │

23:16:49 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:49 #28 [Debug] >

23:16:49 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:49 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:49 #31 [Debug] > │ ## write_line                                                                │

23:16:49 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:49 #33 [Debug] >

23:16:49 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:49 #35 [Debug] > inl write_line obj : () =

23:16:49 #36 [Debug] >     $"System.Console.WriteLine !obj"

23:16:49 #37 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-4944-4408-4007bbecc6d1\main.spi

23:16:49 #38 [Debug] >

23:16:49 #39 [Debug] > ╭─[ 198.86ms - stdout ]────────────────────────────────────────────────────────╮

23:16:49 #40 [Debug] > │ ()                                                                           │

23:16:49 #41 [Debug] > │                                                                              │

23:16:49 #42 [Debug] > │                                                                              │

23:16:49 #43 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:49 #44 [Debug] >

23:16:49 #45 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:49 #46 [Debug] > inl write_line_ ~obj : () =

23:16:49 #47 [Debug] >     $"System.Console.WriteLine !obj"

23:16:49 #48 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-4963-6380-66ce539814e7\main.spi

23:16:49 #49 [Debug] >

23:16:49 #50 [Debug] > ╭─[ 153.30ms - stdout ]────────────────────────────────────────────────────────╮

23:16:49 #51 [Debug] > │ ()                                                                           │

23:16:49 #52 [Debug] > │                                                                              │

23:16:49 #53 [Debug] > │                                                                              │

23:16:49 #54 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:51 #55 [Debug] > [NbConvertApp] Converting notebook console.dib.ipynb to html

23:16:51 #56 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:16:51 #57 [Debug] >   validate(nb)

23:16:52 #58 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:16:52 #59 [Debug] >   return _pygments_highlight(

23:16:52 #60 [Debug] > [NbConvertApp] Writing 273326 bytes to console.dib.html

23:16:53 #61 [Debug] executeAsync / exitCode: 0 / proc.Id: 60288 / output.Length: 3010

23:16:53 #62 [Debug] main / executeCommand / exitCode: 0

23:16:54 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:16:54 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:16:54 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:16:54 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:16:54 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:16:54 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:16:55 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:16:55 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:16:55 #9 [Debug] > Server bound to: http://localhost:13805

23:16:55 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 math.dib""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:16:58 #11 [Debug] >

23:16:58 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:16:58 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:16:58 #14 [Debug] > │ # math                                                                       │

23:16:58 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:16:58 #16 [Debug] >

23:16:58 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:16:58 #18 [Debug] > // // test

23:16:58 #19 [Debug] >

23:16:58 #20 [Debug] > open testing

23:17:01 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0057-5760-52033d66b19b\main.spi

23:17:04 #22 [Debug] >

23:17:04 #23 [Debug] > ╭─[ 6.01s - stdout ]───────────────────────────────────────────────────────────╮

23:17:04 #24 [Debug] > │ ()                                                                           │

23:17:04 #25 [Debug] > │                                                                              │

23:17:04 #26 [Debug] > │                                                                              │

23:17:04 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:04 #28 [Debug] >

23:17:04 #29 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:04 #30 [Debug] > // // test

23:17:04 #31 [Debug] >

23:17:04 #32 [Debug] > 2 * 2 / 0.4f64 |> sqrt

23:17:04 #33 [Debug] > |> _almost_equal 3.1622776601683795

23:17:04 #34 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0412-1220-17ee503d2269\main.spi

23:17:04 #35 [Debug] >

23:17:04 #36 [Debug] > ╭─[ 724.43ms - stdout ]────────────────────────────────────────────────────────╮

23:17:04 #37 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:04 #38 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{3.1622776601683795} /     │

23:17:04 #39 [Debug] > │ expected: %A{3.1622776601683795}"                                            │

23:17:04 #40 [Debug] > │     ()                                                                       │

23:17:04 #41 [Debug] > │ method0()                                                                    │

23:17:04 #42 [Debug] > │                                                                              │

23:17:04 #43 [Debug] > │                                                                              │

23:17:04 #44 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:04 #45 [Debug] >

23:17:04 #46 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:04 #47 [Debug] > // // test

23:17:04 #48 [Debug] >

23:17:04 #49 [Debug] > 2f64 / 3

23:17:04 #50 [Debug] > |> _almost_equal 0.6666666666666666

23:17:04 #51 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0484-8475-8537235e4a96\main.spi

23:17:04 #52 [Debug] >

23:17:04 #53 [Debug] > ╭─[ 136.09ms - stdout ]────────────────────────────────────────────────────────╮

23:17:04 #54 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:04 #55 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{0.6666666666666666} /     │

23:17:04 #56 [Debug] > │ expected: %A{0.6666666666666666}"                                            │

23:17:04 #57 [Debug] > │     ()                                                                       │

23:17:04 #58 [Debug] > │ method0()                                                                    │

23:17:04 #59 [Debug] > │                                                                              │

23:17:04 #60 [Debug] > │                                                                              │

23:17:04 #61 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:04 #62 [Debug] >

23:17:04 #63 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:04 #64 [Debug] > // // test

23:17:04 #65 [Debug] >

23:17:04 #66 [Debug] > 2f64 |> log

23:17:04 #67 [Debug] > |> _almost_equal 0.6931471805599453

23:17:05 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0498-9879-91c2d55d2dd8\main.spi

23:17:05 #69 [Debug] >

23:17:05 #70 [Debug] > ╭─[ 142.13ms - stdout ]────────────────────────────────────────────────────────╮

23:17:05 #71 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:05 #72 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{0.6931471805599453} /     │

23:17:05 #73 [Debug] > │ expected: %A{0.6931471805599453}"                                            │

23:17:05 #74 [Debug] > │     ()                                                                       │

23:17:05 #75 [Debug] > │ method0()                                                                    │

23:17:05 #76 [Debug] > │                                                                              │

23:17:05 #77 [Debug] > │                                                                              │

23:17:05 #78 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:05 #79 [Debug] >

23:17:05 #80 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:05 #81 [Debug] > // // test

23:17:05 #82 [Debug] >

23:17:05 #83 [Debug] > pi

23:17:05 #84 [Debug] > |> _almost_equal 3.141592653589793f64

23:17:05 #85 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0513-1367-1d37d30055bf\main.spi

23:17:05 #86 [Debug] >

23:17:05 #87 [Debug] > ╭─[ 145.02ms - stdout ]────────────────────────────────────────────────────────╮

23:17:05 #88 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:05 #89 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{3.141592653589793} /      │

23:17:05 #90 [Debug] > │ expected: %A{3.141592653589793}"                                             │

23:17:05 #91 [Debug] > │     ()                                                                       │

23:17:05 #92 [Debug] > │ method0()                                                                    │

23:17:05 #93 [Debug] > │                                                                              │

23:17:05 #94 [Debug] > │                                                                              │

23:17:05 #95 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:05 #96 [Debug] >

23:17:05 #97 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:05 #98 [Debug] > // // test

23:17:05 #99 [Debug] >

23:17:05 #100 [Debug] > pi |> cos

23:17:05 #101 [Debug] > |> _equal -1f64

23:17:05 #102 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0528-2853-2b1fae2afab6\main.spi

23:17:05 #103 [Debug] >

23:17:05 #104 [Debug] > ╭─[ 136.25ms - stdout ]────────────────────────────────────────────────────────╮

23:17:05 #105 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:05 #106 [Debug] > │     let v0 : string = $"_equal / actual: %A{-1.0} / expected: %A{-1.0}"      │

23:17:05 #107 [Debug] > │     ()                                                                       │

23:17:05 #108 [Debug] > │ method0()                                                                    │

23:17:05 #109 [Debug] > │                                                                              │

23:17:05 #110 [Debug] > │                                                                              │

23:17:05 #111 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:05 #112 [Debug] >

23:17:05 #113 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:05 #114 [Debug] > // // test

23:17:05 #115 [Debug] >

23:17:05 #116 [Debug] > pi

23:17:05 #117 [Debug] > |> cos

23:17:05 #118 [Debug] > |> fun n => n / 2f64

23:17:05 #119 [Debug] > |> _almost_equal -0.5

23:17:05 #120 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0542-4266-4377874cfd12\main.spi

23:17:05 #121 [Debug] >

23:17:05 #122 [Debug] > ╭─[ 137.99ms - stdout ]────────────────────────────────────────────────────────╮

23:17:05 #123 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:05 #124 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{-0.5} / expected:         │

23:17:05 #125 [Debug] > │ %A{-0.5}"                                                                    │

23:17:05 #126 [Debug] > │     ()                                                                       │

23:17:05 #127 [Debug] > │ method0()                                                                    │

23:17:05 #128 [Debug] > │                                                                              │

23:17:05 #129 [Debug] > │                                                                              │

23:17:05 #130 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:05 #131 [Debug] >

23:17:05 #132 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:05 #133 [Debug] > // // test

23:17:05 #134 [Debug] >

23:17:05 #135 [Debug] > pi / 2 |> cos

23:17:05 #136 [Debug] > |> _almost_equal 0.00000000000000006123233995736766f64

23:17:05 #137 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0556-5687-59ed759cc145\main.spi

23:17:05 #138 [Debug] >

23:17:05 #139 [Debug] > ╭─[ 131.55ms - stdout ]────────────────────────────────────────────────────────╮

23:17:05 #140 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:05 #141 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{6.123233995736766E-17} /  │

23:17:05 #142 [Debug] > │ expected: %A{6.123233995736766E-17}"                                         │

23:17:05 #143 [Debug] > │     ()                                                                       │

23:17:05 #144 [Debug] > │ method0()                                                                    │

23:17:05 #145 [Debug] > │                                                                              │

23:17:05 #146 [Debug] > │                                                                              │

23:17:05 #147 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:05 #148 [Debug] >

23:17:05 #149 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:05 #150 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:05 #151 [Debug] > │ ## atan2                                                                     │

23:17:05 #152 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:05 #153 [Debug] >

23:17:05 #154 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:05 #155 [Debug] > inl atan2 (y : f64) (x : f64) =

23:17:05 #156 [Debug] >     $"System.Math.Atan2 (!y, !x)" : f64

23:17:05 #157 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0571-7110-7848b6a4482a\main.spi

23:17:05 #158 [Debug] >

23:17:05 #159 [Debug] > ╭─[ 134.76ms - stdout ]────────────────────────────────────────────────────────╮

23:17:05 #160 [Debug] > │ ()                                                                           │

23:17:05 #161 [Debug] > │                                                                              │

23:17:05 #162 [Debug] > │                                                                              │

23:17:05 #163 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:05 #164 [Debug] >

23:17:05 #165 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:05 #166 [Debug] > // // test

23:17:05 #167 [Debug] >

23:17:05 #168 [Debug] > 0 |> atan2 1

23:17:05 #169 [Debug] > |> _equal 1.5707963267948966

23:17:05 #170 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0584-8473-8deebbc0ffdb\main.spi

23:17:06 #171 [Debug] >

23:17:06 #172 [Debug] > ╭─[ 458.64ms - stdout ]────────────────────────────────────────────────────────╮

23:17:06 #173 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:06 #174 [Debug] > │     let v0 : float = System.Math.Atan2 (1.0, 0.0)                            │

23:17:06 #175 [Debug] > │     let v1 : bool = v0 = 1.5707963267948966                                  │

23:17:06 #176 [Debug] > │     let v2 : string = $"_equal / actual: %A{v0} / expected:                  │

23:17:06 #177 [Debug] > │ %A{1.5707963267948966}"                                                      │

23:17:06 #178 [Debug] > │     let v3 : bool = v1 = false                                               │

23:17:06 #179 [Debug] > │     if v3 then                                                               │

23:17:06 #180 [Debug] > │         failwith<unit> v2                                                    │

23:17:06 #181 [Debug] > │ method0()                                                                    │

23:17:06 #182 [Debug] > │                                                                              │

23:17:06 #183 [Debug] > │                                                                              │

23:17:06 #184 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #185 [Debug] >

23:17:06 #186 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:06 #187 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:06 #188 [Debug] > │ ## e                                                                         │

23:17:06 #189 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #190 [Debug] >

23:17:06 #191 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:06 #192 [Debug] > inl e () =

23:17:06 #193 [Debug] >     exp 1f64

23:17:06 #194 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0631-3176-3084c6833eca\main.spi

23:17:06 #195 [Debug] >

23:17:06 #196 [Debug] > ╭─[ 150.23ms - stdout ]────────────────────────────────────────────────────────╮

23:17:06 #197 [Debug] > │ ()                                                                           │

23:17:06 #198 [Debug] > │                                                                              │

23:17:06 #199 [Debug] > │                                                                              │

23:17:06 #200 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #201 [Debug] >

23:17:06 #202 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:06 #203 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:06 #204 [Debug] > │ ## floor                                                                     │

23:17:06 #205 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #206 [Debug] >

23:17:06 #207 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:06 #208 [Debug] > inl floor forall t {float}. (x : t) : t =

23:17:06 #209 [Debug] >     $"floor !x"

23:17:06 #210 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0647-4713-409cf1a17003\main.spi

23:17:06 #211 [Debug] >

23:17:06 #212 [Debug] > ╭─[ 174.31ms - stdout ]────────────────────────────────────────────────────────╮

23:17:06 #213 [Debug] > │ ()                                                                           │

23:17:06 #214 [Debug] > │                                                                              │

23:17:06 #215 [Debug] > │                                                                              │

23:17:06 #216 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #217 [Debug] >

23:17:06 #218 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:06 #219 [Debug] > // // test

23:17:06 #220 [Debug] >

23:17:06 #221 [Debug] > 0.6 |> floor

23:17:06 #222 [Debug] > |> _equal 0f64

23:17:06 #223 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0664-6485-69a47d7b92b6\main.spi

23:17:06 #224 [Debug] >

23:17:06 #225 [Debug] > ╭─[ 199.77ms - stdout ]────────────────────────────────────────────────────────╮

23:17:06 #226 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:06 #227 [Debug] > │     let v0 : float = floor 0.6                                               │

23:17:06 #228 [Debug] > │     let v1 : bool = v0 = 0.0                                                 │

23:17:06 #229 [Debug] > │     let v2 : string = $"_equal / actual: %A{v0} / expected: %A{0.0}"         │

23:17:06 #230 [Debug] > │     let v3 : bool = v1 = false                                               │

23:17:06 #231 [Debug] > │     if v3 then                                                               │

23:17:06 #232 [Debug] > │         failwith<unit> v2                                                    │

23:17:06 #233 [Debug] > │ method0()                                                                    │

23:17:06 #234 [Debug] > │                                                                              │

23:17:06 #235 [Debug] > │                                                                              │

23:17:06 #236 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #237 [Debug] >

23:17:06 #238 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:06 #239 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:06 #240 [Debug] > │ ## log_base                                                                  │

23:17:06 #241 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #242 [Debug] >

23:17:06 #243 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:06 #244 [Debug] > inl log_base (new_base : f64) (a : f64) =

23:17:06 #245 [Debug] >     $"System.Math.Log (!a, !new_base)" : f64

23:17:06 #246 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0685-8565-8c246ec82895\main.spi

23:17:06 #247 [Debug] >

23:17:06 #248 [Debug] > ╭─[ 137.80ms - stdout ]────────────────────────────────────────────────────────╮

23:17:06 #249 [Debug] > │ ()                                                                           │

23:17:06 #250 [Debug] > │                                                                              │

23:17:06 #251 [Debug] > │                                                                              │

23:17:06 #252 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:06 #253 [Debug] >

23:17:06 #254 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:06 #255 [Debug] > // // test

23:17:06 #256 [Debug] >

23:17:06 #257 [Debug] > 100 |> log_base 10

23:17:06 #258 [Debug] > |> _equal 2

23:17:07 #259 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0699-9985-992d0a2546bc\main.spi

23:17:07 #260 [Debug] >

23:17:07 #261 [Debug] > ╭─[ 166.29ms - stdout ]────────────────────────────────────────────────────────╮

23:17:07 #262 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:07 #263 [Debug] > │     let v0 : float = System.Math.Log (100.0, 10.0)                           │

23:17:07 #264 [Debug] > │     let v1 : bool = v0 = 2.0                                                 │

23:17:07 #265 [Debug] > │     let v2 : string = $"_equal / actual: %A{v0} / expected: %A{2.0}"         │

23:17:07 #266 [Debug] > │     let v3 : bool = v1 = false                                               │

23:17:07 #267 [Debug] > │     if v3 then                                                               │

23:17:07 #268 [Debug] > │         failwith<unit> v2                                                    │

23:17:07 #269 [Debug] > │ method0()                                                                    │

23:17:07 #270 [Debug] > │                                                                              │

23:17:07 #271 [Debug] > │                                                                              │

23:17:07 #272 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #273 [Debug] >

23:17:07 #274 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:07 #275 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:07 #276 [Debug] > │ ## round                                                                     │

23:17:07 #277 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #278 [Debug] >

23:17:07 #279 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:07 #280 [Debug] > inl round forall t {float}. (x : t) : t =

23:17:07 #281 [Debug] >     $"round !x"

23:17:07 #282 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0717-1720-1f7e0187f727\main.spi

23:17:07 #283 [Debug] >

23:17:07 #284 [Debug] > ╭─[ 134.45ms - stdout ]────────────────────────────────────────────────────────╮

23:17:07 #285 [Debug] > │ ()                                                                           │

23:17:07 #286 [Debug] > │                                                                              │

23:17:07 #287 [Debug] > │                                                                              │

23:17:07 #288 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #289 [Debug] >

23:17:07 #290 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:07 #291 [Debug] > // // test

23:17:07 #292 [Debug] >

23:17:07 #293 [Debug] > 0.5 |> round

23:17:07 #294 [Debug] > |> _equal 0f64

23:17:07 #295 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0730-3095-36e90b13021d\main.spi

23:17:07 #296 [Debug] >

23:17:07 #297 [Debug] > ╭─[ 162.20ms - stdout ]────────────────────────────────────────────────────────╮

23:17:07 #298 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:07 #299 [Debug] > │     let v0 : float = round 0.5                                               │

23:17:07 #300 [Debug] > │     let v1 : bool = v0 = 0.0                                                 │

23:17:07 #301 [Debug] > │     let v2 : string = $"_equal / actual: %A{v0} / expected: %A{0.0}"         │

23:17:07 #302 [Debug] > │     let v3 : bool = v1 = false                                               │

23:17:07 #303 [Debug] > │     if v3 then                                                               │

23:17:07 #304 [Debug] > │         failwith<unit> v2                                                    │

23:17:07 #305 [Debug] > │ method0()                                                                    │

23:17:07 #306 [Debug] > │                                                                              │

23:17:07 #307 [Debug] > │                                                                              │

23:17:07 #308 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #309 [Debug] >

23:17:07 #310 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:07 #311 [Debug] > // // test

23:17:07 #312 [Debug] >

23:17:07 #313 [Debug] > 0.6 |> round

23:17:07 #314 [Debug] > |> _equal 1f64

23:17:07 #315 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0747-4774-4ef13edc0fa5\main.spi

23:17:07 #316 [Debug] >

23:17:07 #317 [Debug] > ╭─[ 165.78ms - stdout ]────────────────────────────────────────────────────────╮

23:17:07 #318 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:07 #319 [Debug] > │     let v0 : float = round 0.6                                               │

23:17:07 #320 [Debug] > │     let v1 : bool = v0 = 1.0                                                 │

23:17:07 #321 [Debug] > │     let v2 : string = $"_equal / actual: %A{v0} / expected: %A{1.0}"         │

23:17:07 #322 [Debug] > │     let v3 : bool = v1 = false                                               │

23:17:07 #323 [Debug] > │     if v3 then                                                               │

23:17:07 #324 [Debug] > │         failwith<unit> v2                                                    │

23:17:07 #325 [Debug] > │ method0()                                                                    │

23:17:07 #326 [Debug] > │                                                                              │

23:17:07 #327 [Debug] > │                                                                              │

23:17:07 #328 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #329 [Debug] >

23:17:07 #330 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:07 #331 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:07 #332 [Debug] > │ ## square                                                                    │

23:17:07 #333 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #334 [Debug] >

23:17:07 #335 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:07 #336 [Debug] > inl square x =

23:17:07 #337 [Debug] >     x ** 2

23:17:07 #338 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0765-6530-68492203f114\main.spi

23:17:07 #339 [Debug] >

23:17:07 #340 [Debug] > ╭─[ 119.06ms - stdout ]────────────────────────────────────────────────────────╮

23:17:07 #341 [Debug] > │ ()                                                                           │

23:17:07 #342 [Debug] > │                                                                              │

23:17:07 #343 [Debug] > │                                                                              │

23:17:07 #344 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #345 [Debug] >

23:17:07 #346 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:07 #347 [Debug] > // // test

23:17:07 #348 [Debug] >

23:17:07 #349 [Debug] > 5f64

23:17:07 #350 [Debug] > |> sqrt

23:17:07 #351 [Debug] > |> square

23:17:07 #352 [Debug] > |> _almost_equal 5

23:17:07 #353 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0777-7750-79038ed1f5cb\main.spi

23:17:07 #354 [Debug] >

23:17:07 #355 [Debug] > ╭─[ 146.62ms - stdout ]────────────────────────────────────────────────────────╮

23:17:07 #356 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:07 #357 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{5.000000000000001} /      │

23:17:07 #358 [Debug] > │ expected: %A{5.0}"                                                           │

23:17:07 #359 [Debug] > │     ()                                                                       │

23:17:07 #360 [Debug] > │ method0()                                                                    │

23:17:07 #361 [Debug] > │                                                                              │

23:17:07 #362 [Debug] > │                                                                              │

23:17:07 #363 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:07 #364 [Debug] >

23:17:07 #365 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:07 #366 [Debug] > // // test

23:17:07 #367 [Debug] >

23:17:07 #368 [Debug] > e () |> square

23:17:07 #369 [Debug] > |> _almost_equal 7.3890560989306495

23:17:08 #370 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0792-9294-9780d16c51a3\main.spi

23:17:08 #371 [Debug] >

23:17:08 #372 [Debug] > ╭─[ 154.40ms - stdout ]────────────────────────────────────────────────────────╮

23:17:08 #373 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:08 #374 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{7.3890560989306495} /     │

23:17:08 #375 [Debug] > │ expected: %A{7.3890560989306495}"                                            │

23:17:08 #376 [Debug] > │     ()                                                                       │

23:17:08 #377 [Debug] > │ method0()                                                                    │

23:17:08 #378 [Debug] > │                                                                              │

23:17:08 #379 [Debug] > │                                                                              │

23:17:08 #380 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:10 #381 [Debug] > [NbConvertApp] Converting notebook math.dib.ipynb to html

23:17:10 #382 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:17:10 #383 [Debug] >   validate(nb)

23:17:10 #384 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:17:10 #385 [Debug] >   return _pygments_highlight(

23:17:11 #386 [Debug] > [NbConvertApp] Writing 300934 bytes to math.dib.html

23:17:11 #387 [Debug] executeAsync / exitCode: 0 / proc.Id: 77752 / output.Length: 20120

23:17:11 #388 [Debug] main / executeCommand / exitCode: 0

23:17:12 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:17:12 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:17:12 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:17:12 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:17:13 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:17:13 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:17:13 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:17:13 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:17:13 #9 [Debug] > Server bound to: http://localhost:13805

23:17:13 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"optionm'.dib\"""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:17:16 #11 [Debug] >

23:17:16 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:16 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:16 #14 [Debug] > │ # optionm                                                                    │

23:17:16 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:16 #16 [Debug] >

23:17:16 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:16 #18 [Debug] > // // test

23:17:16 #19 [Debug] >

23:17:16 #20 [Debug] > open testing

23:17:20 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-1943-4315-4646ba183560\main.spi

23:17:23 #22 [Debug] >

23:17:23 #23 [Debug] > ╭─[ 6.65s - stdout ]───────────────────────────────────────────────────────────╮

23:17:23 #24 [Debug] > │ ()                                                                           │

23:17:23 #25 [Debug] > │                                                                              │

23:17:23 #26 [Debug] > │                                                                              │

23:17:23 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:23 #28 [Debug] >

23:17:23 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:23 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:23 #31 [Debug] > │ ## default_value                                                             │

23:17:23 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:23 #33 [Debug] >

23:17:23 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:23 #35 [Debug] > inl default_value d = optionm.defaultWith d

23:17:23 #36 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2313-1364-1edf26d069e4\main.spi

23:17:23 #37 [Debug] >

23:17:23 #38 [Debug] > ╭─[ 142.76ms - stdout ]────────────────────────────────────────────────────────╮

23:17:23 #39 [Debug] > │ ()                                                                           │

23:17:23 #40 [Debug] > │                                                                              │

23:17:23 #41 [Debug] > │                                                                              │

23:17:23 #42 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:23 #43 [Debug] >

23:17:23 #44 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:23 #45 [Debug] > // // test

23:17:23 #46 [Debug] >

23:17:23 #47 [Debug] > None

23:17:23 #48 [Debug] > |> default_value 3i32

23:17:23 #49 [Debug] > |> _equal 3i32

23:17:23 #50 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2327-2793-27c7be2d9c09\main.spi

23:17:24 #51 [Debug] >

23:17:24 #52 [Debug] > ╭─[ 870.14ms - stdout ]────────────────────────────────────────────────────────╮

23:17:24 #53 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:24 #54 [Debug] > │     let v0 : string = $"_equal / actual: %A{3} / expected: %A{3}"            │

23:17:24 #55 [Debug] > │     ()                                                                       │

23:17:24 #56 [Debug] > │ method0()                                                                    │

23:17:24 #57 [Debug] > │                                                                              │

23:17:24 #58 [Debug] > │                                                                              │

23:17:24 #59 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:24 #60 [Debug] >

23:17:24 #61 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:24 #62 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:24 #63 [Debug] > │ ## default_with                                                              │

23:17:24 #64 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:24 #65 [Debug] >

23:17:24 #66 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:24 #67 [Debug] > inl default_with fn = function Some x => x | None => fn ()

23:17:24 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2415-1584-13d023f55b6f\main.spi

23:17:24 #69 [Debug] >

23:17:24 #70 [Debug] > ╭─[ 223.85ms - stdout ]────────────────────────────────────────────────────────╮

23:17:24 #71 [Debug] > │ ()                                                                           │

23:17:24 #72 [Debug] > │                                                                              │

23:17:24 #73 [Debug] > │                                                                              │

23:17:24 #74 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:24 #75 [Debug] >

23:17:24 #76 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:24 #77 [Debug] > // // test

23:17:24 #78 [Debug] >

23:17:24 #79 [Debug] > None

23:17:24 #80 [Debug] > |> default_with (fun () => 3i32)

23:17:24 #81 [Debug] > |> _equal 3i32

23:17:24 #82 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2438-3872-38edaf1be6c7\main.spi

23:17:24 #83 [Debug] >

23:17:24 #84 [Debug] > ╭─[ 140.88ms - stdout ]────────────────────────────────────────────────────────╮

23:17:24 #85 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:24 #86 [Debug] > │     let v0 : string = $"_equal / actual: %A{3} / expected: %A{3}"            │

23:17:24 #87 [Debug] > │     ()                                                                       │

23:17:24 #88 [Debug] > │ method0()                                                                    │

23:17:24 #89 [Debug] > │                                                                              │

23:17:24 #90 [Debug] > │                                                                              │

23:17:24 #91 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:24 #92 [Debug] >

23:17:24 #93 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:24 #94 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:24 #95 [Debug] > │ ## choose                                                                    │

23:17:24 #96 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:24 #97 [Debug] >

23:17:24 #98 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:24 #99 [Debug] > inl choose forall a b c. (fn : a -> b -> c) (a : option a) (b : option b) :

23:17:24 #100 [Debug] > option c =

23:17:24 #101 [Debug] >     match a, b with

23:17:24 #102 [Debug] >     | Some x, Some y => fn x y |> Some

23:17:24 #103 [Debug] >     | _ => None

23:17:24 #104 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2453-5325-54c6061c9111\main.spi

23:17:24 #105 [Debug] >

23:17:24 #106 [Debug] > ╭─[ 130.17ms - stdout ]────────────────────────────────────────────────────────╮

23:17:24 #107 [Debug] > │ ()                                                                           │

23:17:24 #108 [Debug] > │                                                                              │

23:17:24 #109 [Debug] > │                                                                              │

23:17:24 #110 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:24 #111 [Debug] >

23:17:24 #112 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:24 #113 [Debug] > // // test

23:17:24 #114 [Debug] >

23:17:24 #115 [Debug] > (Some 2i32, Some 3)

23:17:24 #116 [Debug] > ||> choose (+)

23:17:24 #117 [Debug] > |> _equal (Some 5)

23:17:24 #118 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2466-6653-6ae93bdb0f1e\main.spi

23:17:25 #119 [Debug] >

23:17:25 #120 [Debug] > ╭─[ 919.34ms - stdout ]────────────────────────────────────────────────────────╮

23:17:25 #121 [Debug] > │ type [<Struct>] US0 =                                                        │

23:17:25 #122 [Debug] > │     | US0_0                                                                  │

23:17:25 #123 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:17:25 #124 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:25 #125 [Debug] > │     let v3 : US0 = US0_1(5)                                                  │

23:17:25 #126 [Debug] > │     let v4 : US0 = US0_1(5)                                                  │

23:17:25 #127 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:17:25 #128 [Debug] > │     ()                                                                       │

23:17:25 #129 [Debug] > │ method0()                                                                    │

23:17:25 #130 [Debug] > │                                                                              │

23:17:25 #131 [Debug] > │                                                                              │

23:17:25 #132 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:27 #133 [Debug] > [NbConvertApp] Converting notebook optionm'.dib.ipynb to html

23:17:27 #134 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:17:27 #135 [Debug] >   validate(nb)

23:17:28 #136 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:17:28 #137 [Debug] >   return _pygments_highlight(

23:17:28 #138 [Debug] > [NbConvertApp] Writing 281330 bytes to optionm'.dib.html

23:17:29 #139 [Debug] executeAsync / exitCode: 0 / proc.Id: 59124 / output.Length: 7071

23:17:29 #140 [Debug] main / executeCommand / exitCode: 0

23:17:29 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:17:30 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:17:30 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:17:30 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:17:30 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:17:30 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:17:31 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:17:31 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:17:31 #9 [Debug] > Server bound to: http://localhost:13805

23:17:31 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"am'.dib\"""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:17:33 #11 [Debug] >

23:17:33 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:33 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:33 #14 [Debug] > │ # am                                                                         │

23:17:33 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:34 #16 [Debug] >

23:17:34 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:34 #18 [Debug] > // // test

23:17:34 #19 [Debug] >

23:17:34 #20 [Debug] > open testing

23:17:37 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-3654-5437-566ce73db71d\main.spi

23:17:39 #22 [Debug] >

23:17:39 #23 [Debug] > ╭─[ 5.75s - stdout ]───────────────────────────────────────────────────────────╮

23:17:39 #24 [Debug] > │ ()                                                                           │

23:17:39 #25 [Debug] > │                                                                              │

23:17:39 #26 [Debug] > │                                                                              │

23:17:39 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:39 #28 [Debug] >

23:17:39 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:39 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:39 #31 [Debug] > │ ## sum                                                                       │

23:17:39 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:39 #33 [Debug] >

23:17:39 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:39 #35 [Debug] > inl sum (a' : a _ _) =

23:17:39 #36 [Debug] >     a' |> am.fold (+) 0

23:17:39 #37 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-3976-7627-76675e1a87fe\main.spi

23:17:39 #38 [Debug] >

23:17:39 #39 [Debug] > ╭─[ 172.41ms - stdout ]────────────────────────────────────────────────────────╮

23:17:39 #40 [Debug] > │ ()                                                                           │

23:17:39 #41 [Debug] > │                                                                              │

23:17:39 #42 [Debug] > │                                                                              │

23:17:39 #43 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:39 #44 [Debug] >

23:17:39 #45 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:39 #46 [Debug] > // // test

23:17:39 #47 [Debug] >

23:17:39 #48 [Debug] > am.init 10i32 id

23:17:39 #49 [Debug] > |> sum

23:17:39 #50 [Debug] > |> _equal 45

23:17:40 #51 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-3993-9312-9d1a6eda73a4\main.spi

23:17:41 #52 [Debug] >

23:17:41 #53 [Debug] > ╭─[ 1.94s - stdout ]───────────────────────────────────────────────────────────╮

23:17:41 #54 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:17:41 #55 [Debug] > │ and Mut1 = {mutable l0 : int32; mutable l1 : int32}                          │

23:17:41 #56 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:17:41 #57 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:17:41 #58 [Debug] > │     let v2 : bool = v1 < 10                                                  │

23:17:41 #59 [Debug] > │     v2                                                                       │

23:17:41 #60 [Debug] > │ and method2 (v0 : int32, v1 : Mut1) : bool =                                 │

23:17:41 #61 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:17:41 #62 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:17:41 #63 [Debug] > │     v3                                                                       │

23:17:41 #64 [Debug] > │ and method0 () : unit =                                                      │

23:17:41 #65 [Debug] > │     let v0 : (int32 []) = Array.zeroCreate<int32> (10)                       │

23:17:41 #66 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:17:41 #67 [Debug] > │     while method1(v1) do                                                     │

23:17:41 #68 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:17:41 #69 [Debug] > │         v0.[int v3] <- v3                                                    │

23:17:41 #70 [Debug] > │         let v4 : int32 = v3 + 1                                              │

23:17:41 #71 [Debug] > │         v1.l0 <- v4                                                          │

23:17:41 #72 [Debug] > │         ()                                                                   │

23:17:41 #73 [Debug] > │     let v5 : int32 = v0.Length                                               │

23:17:41 #74 [Debug] > │     let v6 : Mut1 = {l0 = 0; l1 = 0} : Mut1                                  │

23:17:41 #75 [Debug] > │     while method2(v5, v6) do                                                 │

23:17:41 #76 [Debug] > │         let v8 : int32 = v6.l0                                               │

23:17:41 #77 [Debug] > │         let v9 : int32 = v6.l1                                               │

23:17:41 #78 [Debug] > │         let v10 : int32 = v0.[int v8]                                        │

23:17:41 #79 [Debug] > │         let v11 : int32 = v9 + v10                                           │

23:17:41 #80 [Debug] > │         let v12 : int32 = v8 + 1                                             │

23:17:41 #81 [Debug] > │         v6.l0 <- v12                                                         │

23:17:41 #82 [Debug] > │         v6.l1 <- v11                                                         │

23:17:41 #83 [Debug] > │         ()                                                                   │

23:17:41 #84 [Debug] > │     let v13 : int32 = v6.l1                                                  │

23:17:41 #85 [Debug] > │     let v14 : bool = v13 = 45                                                │

23:17:41 #86 [Debug] > │     let v15 : string = $"_equal / actual: %A{v13} / expected: %A{45}"        │

23:17:41 #87 [Debug] > │     let v16 : bool = v14 = false                                             │

23:17:41 #88 [Debug] > │     if v16 then                                                              │

23:17:41 #89 [Debug] > │         failwith<unit> v15                                                   │

23:17:41 #90 [Debug] > │ method0()                                                                    │

23:17:41 #91 [Debug] > │                                                                              │

23:17:41 #92 [Debug] > │                                                                              │

23:17:41 #93 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:41 #94 [Debug] >

23:17:41 #95 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:41 #96 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:41 #97 [Debug] > │ ## init_series                                                               │

23:17:41 #98 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:41 #99 [Debug] >

23:17:41 #100 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:41 #101 [Debug] > inl init_series start end inc =

23:17:41 #102 [Debug] >     inl total = conv ((end - start) / inc) + 1

23:17:41 #103 [Debug] >     am.init total (conv >> (*) inc >> (+) start) : a i32 _

23:17:41 #104 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-4189-8906-894e2ee3f5fb\main.spi

23:17:42 #105 [Debug] >

23:17:42 #106 [Debug] > ╭─[ 141.09ms - stdout ]────────────────────────────────────────────────────────╮

23:17:42 #107 [Debug] > │ ()                                                                           │

23:17:42 #108 [Debug] > │                                                                              │

23:17:42 #109 [Debug] > │                                                                              │

23:17:42 #110 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:42 #111 [Debug] >

23:17:42 #112 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:42 #113 [Debug] > // // test

23:17:42 #114 [Debug] >

23:17:42 #115 [Debug] > init_series 0 1 0.5

23:17:42 #116 [Debug] > |> _equal (a ;[[0f64; 0.5; 1]])

23:17:42 #117 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-4203-0336-058a98cfa831\main.spi

23:17:42 #118 [Debug] >

23:17:42 #119 [Debug] > ╭─[ 239.41ms - stdout ]────────────────────────────────────────────────────────╮

23:17:42 #120 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:17:42 #121 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:17:42 #122 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:17:42 #123 [Debug] > │     let v2 : bool = v1 < 3                                                   │

23:17:42 #124 [Debug] > │     v2                                                                       │

23:17:42 #125 [Debug] > │ and method2 (v0 : (float []), v1 : (float []), v2 : int32) : bool =          │

23:17:42 #126 [Debug] > │     let v3 : int32 = v0.Length                                               │

23:17:42 #127 [Debug] > │     let v4 : bool = v2 < v3                                                  │

23:17:42 #128 [Debug] > │     if v4 then                                                               │

23:17:42 #129 [Debug] > │         let v5 : float = v0.[int v2]                                         │

23:17:42 #130 [Debug] > │         let v6 : float = v1.[int v2]                                         │

23:17:42 #131 [Debug] > │         let v7 : bool = v5 = v6                                              │

23:17:42 #132 [Debug] > │         if v7 then                                                           │

23:17:42 #133 [Debug] > │             let v8 : int32 = v2 + 1                                          │

23:17:42 #134 [Debug] > │             method2(v0, v1, v8)                                              │

23:17:42 #135 [Debug] > │         else                                                                 │

23:17:42 #136 [Debug] > │             false                                                            │

23:17:42 #137 [Debug] > │     else                                                                     │

23:17:42 #138 [Debug] > │         true                                                                 │

23:17:42 #139 [Debug] > │ and method0 () : unit =                                                      │

23:17:42 #140 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (3)                        │

23:17:42 #141 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:17:42 #142 [Debug] > │     while method1(v1) do                                                     │

23:17:42 #143 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:17:42 #144 [Debug] > │         let v4 : float = float v3                                            │

23:17:42 #145 [Debug] > │         let v5 : float = 0.5 * v4                                            │

23:17:42 #146 [Debug] > │         v0.[int v3] <- v5                                                    │

23:17:42 #147 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:17:42 #148 [Debug] > │         v1.l0 <- v6                                                          │

23:17:42 #149 [Debug] > │         ()                                                                   │

23:17:42 #150 [Debug] > │     let v7 : (float []) = [|0.0; 0.5; 1.0|]                                  │

23:17:42 #151 [Debug] > │     let v8 : int32 = v0.Length                                               │

23:17:42 #152 [Debug] > │     let v9 : int32 = v7.Length                                               │

23:17:42 #153 [Debug] > │     let v10 : bool = v8 = v9                                                 │

23:17:42 #154 [Debug] > │     let v11 : bool = v10 <> true                                             │

23:17:42 #155 [Debug] > │     let v14 : bool =                                                         │

23:17:42 #156 [Debug] > │         if v11 then                                                          │

23:17:42 #157 [Debug] > │             false                                                            │

23:17:42 #158 [Debug] > │         else                                                                 │

23:17:42 #159 [Debug] > │             let v12 : int32 = 0                                              │

23:17:42 #160 [Debug] > │             method2(v0, v7, v12)                                             │

23:17:42 #161 [Debug] > │     let v15 : string = $"_equal / actual: %A{v0} / expected: %A{v7}"         │

23:17:42 #162 [Debug] > │     let v16 : bool = v14 = false                                             │

23:17:42 #163 [Debug] > │     if v16 then                                                              │

23:17:42 #164 [Debug] > │         failwith<unit> v15                                                   │

23:17:42 #165 [Debug] > │ method0()                                                                    │

23:17:42 #166 [Debug] > │                                                                              │

23:17:42 #167 [Debug] > │                                                                              │

23:17:42 #168 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:44 #169 [Debug] > [NbConvertApp] Converting notebook am'.dib.ipynb to html

23:17:44 #170 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:17:44 #171 [Debug] >   validate(nb)

23:17:45 #172 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:17:45 #173 [Debug] >   return _pygments_highlight(

23:17:45 #174 [Debug] > [NbConvertApp] Writing 279748 bytes to am'.dib.html

23:17:46 #175 [Debug] executeAsync / exitCode: 0 / proc.Id: 66044 / output.Length: 11034

23:17:46 #176 [Debug] main / executeCommand / exitCode: 0

23:17:46 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:17:46 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:17:47 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:17:47 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:17:47 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:17:47 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:17:48 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:17:48 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:17:48 #9 [Debug] > Server bound to: http://localhost:13805

23:17:48 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"listm'.dib\"""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:17:51 #11 [Debug] >

23:17:51 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:51 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:51 #14 [Debug] > │ # listm                                                                      │

23:17:51 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:51 #16 [Debug] >

23:17:51 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:51 #18 [Debug] > // // test

23:17:51 #19 [Debug] >

23:17:51 #20 [Debug] > open testing

23:17:54 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5380-8084-8f178a903e42\main.spi

23:17:57 #22 [Debug] >

23:17:57 #23 [Debug] > ╭─[ 5.77s - stdout ]───────────────────────────────────────────────────────────╮

23:17:57 #24 [Debug] > │ ()                                                                           │

23:17:57 #25 [Debug] > │                                                                              │

23:17:57 #26 [Debug] > │                                                                              │

23:17:57 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:57 #28 [Debug] >

23:17:57 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:57 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:57 #31 [Debug] > │ ## /@                                                                        │

23:17:57 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:57 #33 [Debug] >

23:17:57 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:57 #35 [Debug] > inl (/@) a b = b |> listm.append a

23:17:57 #36 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5703-0312-060829a56345\main.spi

23:17:57 #37 [Debug] >

23:17:57 #38 [Debug] > ╭─[ 147.73ms - stdout ]────────────────────────────────────────────────────────╮

23:17:57 #39 [Debug] > │ ()                                                                           │

23:17:57 #40 [Debug] > │                                                                              │

23:17:57 #41 [Debug] > │                                                                              │

23:17:57 #42 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:57 #43 [Debug] >

23:17:57 #44 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:57 #45 [Debug] > // // test

23:17:57 #46 [Debug] >

23:17:57 #47 [Debug] > [["a"; "b"]] /@ [["c"; "d"]]

23:17:57 #48 [Debug] > |> _equal [["a"; "b"; "c"; "d"]]

23:17:57 #49 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5717-1782-19fdf28a77dd\main.spi

23:17:58 #50 [Debug] >

23:17:58 #51 [Debug] > ╭─[ 1.37s - stdout ]───────────────────────────────────────────────────────────╮

23:17:58 #52 [Debug] > │ type UH0 =                                                                   │

23:17:58 #53 [Debug] > │     | UH0_0 of string * UH0                                                  │

23:17:58 #54 [Debug] > │     | UH0_1                                                                  │

23:17:58 #55 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:58 #56 [Debug] > │     let v43 : string = "a"                                                   │

23:17:58 #57 [Debug] > │     let v44 : string = "b"                                                   │

23:17:58 #58 [Debug] > │     let v45 : string = "c"                                                   │

23:17:58 #59 [Debug] > │     let v46 : string = "d"                                                   │

23:17:58 #60 [Debug] > │     let v47 : UH0 = UH0_1                                                    │

23:17:58 #61 [Debug] > │     let v48 : UH0 = UH0_0(v46, v47)                                          │

23:17:58 #62 [Debug] > │     let v49 : UH0 = UH0_0(v45, v48)                                          │

23:17:58 #63 [Debug] > │     let v50 : UH0 = UH0_0(v44, v49)                                          │

23:17:58 #64 [Debug] > │     let v51 : UH0 = UH0_0(v43, v50)                                          │

23:17:58 #65 [Debug] > │     let v52 : UH0 = UH0_1                                                    │

23:17:58 #66 [Debug] > │     let v53 : UH0 = UH0_0(v46, v52)                                          │

23:17:58 #67 [Debug] > │     let v54 : UH0 = UH0_0(v45, v53)                                          │

23:17:58 #68 [Debug] > │     let v55 : UH0 = UH0_0(v44, v54)                                          │

23:17:58 #69 [Debug] > │     let v56 : UH0 = UH0_0(v43, v55)                                          │

23:17:58 #70 [Debug] > │     let v57 : string = $"_equal / actual: %A{v51} / expected: %A{v56}"       │

23:17:58 #71 [Debug] > │     ()                                                                       │

23:17:58 #72 [Debug] > │ method0()                                                                    │

23:17:58 #73 [Debug] > │                                                                              │

23:17:58 #74 [Debug] > │                                                                              │

23:17:58 #75 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:58 #76 [Debug] >

23:17:58 #77 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:58 #78 [Debug] > inl init_series start end inc =

23:17:58 #79 [Debug] >     inl total : f64 = conv ((end - start) / inc) + 1

23:17:58 #80 [Debug] >     listm.init total (conv >> (*) inc >> (+) start)

23:17:58 #81 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5856-5682-5cccc0d3b4af\main.spi

23:17:58 #82 [Debug] >

23:17:58 #83 [Debug] > ╭─[ 276.52ms - stdout ]────────────────────────────────────────────────────────╮

23:17:58 #84 [Debug] > │ ()                                                                           │

23:17:58 #85 [Debug] > │                                                                              │

23:17:58 #86 [Debug] > │                                                                              │

23:17:58 #87 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:58 #88 [Debug] >

23:17:58 #89 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:58 #90 [Debug] > // // test

23:17:58 #91 [Debug] >

23:17:58 #92 [Debug] > init_series 0 1 0.5

23:17:58 #93 [Debug] > |> _equal [[0f64; 0.5; 1]]

23:17:58 #94 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5884-8472-86fa46b8be42\main.spi

23:17:59 #95 [Debug] >

23:17:59 #96 [Debug] > ╭─[ 221.00ms - stdout ]────────────────────────────────────────────────────────╮

23:17:59 #97 [Debug] > │ type UH0 =                                                                   │

23:17:59 #98 [Debug] > │     | UH0_0 of float * UH0                                                   │

23:17:59 #99 [Debug] > │     | UH0_1                                                                  │

23:17:59 #100 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:59 #101 [Debug] > │     let v18 : UH0 = UH0_1                                                    │

23:17:59 #102 [Debug] > │     let v19 : UH0 = UH0_0(1.0, v18)                                          │

23:17:59 #103 [Debug] > │     let v20 : UH0 = UH0_0(0.5, v19)                                          │

23:17:59 #104 [Debug] > │     let v21 : UH0 = UH0_0(0.0, v20)                                          │

23:17:59 #105 [Debug] > │     let v22 : UH0 = UH0_1                                                    │

23:17:59 #106 [Debug] > │     let v23 : UH0 = UH0_0(1.0, v22)                                          │

23:17:59 #107 [Debug] > │     let v24 : UH0 = UH0_0(0.5, v23)                                          │

23:17:59 #108 [Debug] > │     let v25 : UH0 = UH0_0(0.0, v24)                                          │

23:17:59 #109 [Debug] > │     let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}"       │

23:17:59 #110 [Debug] > │     ()                                                                       │

23:17:59 #111 [Debug] > │ method0()                                                                    │

23:17:59 #112 [Debug] > │                                                                              │

23:17:59 #113 [Debug] > │                                                                              │

23:17:59 #114 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:59 #115 [Debug] >

23:17:59 #116 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:59 #117 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:59 #118 [Debug] > │ ## try_item                                                                  │

23:17:59 #119 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:59 #120 [Debug] >

23:17:59 #121 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:59 #122 [Debug] > inl rec try_item i = function

23:17:59 #123 [Debug] >     | Cons (x, _) when i = 0 => Some x

23:17:59 #124 [Debug] >     | Cons (_, xs) => try_item (i - 1) xs

23:17:59 #125 [Debug] >     | Nil => None

23:17:59 #126 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5907-0789-06589df7ac6d\main.spi

23:17:59 #127 [Debug] >

23:17:59 #128 [Debug] > ╭─[ 148.28ms - stdout ]────────────────────────────────────────────────────────╮

23:17:59 #129 [Debug] > │ ()                                                                           │

23:17:59 #130 [Debug] > │                                                                              │

23:17:59 #131 [Debug] > │                                                                              │

23:17:59 #132 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:59 #133 [Debug] >

23:17:59 #134 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:59 #135 [Debug] > // // test

23:17:59 #136 [Debug] >

23:17:59 #137 [Debug] > listm.init 10i32 id

23:17:59 #138 [Debug] > |> try_item 9i32

23:17:59 #139 [Debug] > |> _equal (Some 9)

23:17:59 #140 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5923-2312-23bf42afe106\main.spi

23:17:59 #141 [Debug] >

23:17:59 #142 [Debug] > ╭─[ 263.87ms - stdout ]────────────────────────────────────────────────────────╮

23:17:59 #143 [Debug] > │ type [<Struct>] US0 =                                                        │

23:17:59 #144 [Debug] > │     | US0_0                                                                  │

23:17:59 #145 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:17:59 #146 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:59 #147 [Debug] > │     let v3 : US0 = US0_1(9)                                                  │

23:17:59 #148 [Debug] > │     let v4 : US0 = US0_1(9)                                                  │

23:17:59 #149 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:17:59 #150 [Debug] > │     ()                                                                       │

23:17:59 #151 [Debug] > │ method0()                                                                    │

23:17:59 #152 [Debug] > │                                                                              │

23:17:59 #153 [Debug] > │                                                                              │

23:17:59 #154 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:59 #155 [Debug] >

23:17:59 #156 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:59 #157 [Debug] > // // test

23:17:59 #158 [Debug] >

23:17:59 #159 [Debug] > listm.init 10i32 id

23:17:59 #160 [Debug] > |> try_item 10i32

23:17:59 #161 [Debug] > |> _equal None

23:17:59 #162 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5950-5014-5c828c2bc438\main.spi

23:17:59 #163 [Debug] >

23:17:59 #164 [Debug] > ╭─[ 201.08ms - stdout ]────────────────────────────────────────────────────────╮

23:17:59 #165 [Debug] > │ type [<Struct>] US0 =                                                        │

23:17:59 #166 [Debug] > │     | US0_0                                                                  │

23:17:59 #167 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:17:59 #168 [Debug] > │ let rec method0 () : unit =                                                  │

23:17:59 #169 [Debug] > │     let v3 : US0 = US0_0                                                     │

23:17:59 #170 [Debug] > │     let v4 : US0 = US0_0                                                     │

23:17:59 #171 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:17:59 #172 [Debug] > │     ()                                                                       │

23:17:59 #173 [Debug] > │ method0()                                                                    │

23:17:59 #174 [Debug] > │                                                                              │

23:17:59 #175 [Debug] > │                                                                              │

23:17:59 #176 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:59 #177 [Debug] >

23:17:59 #178 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:17:59 #179 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:17:59 #180 [Debug] > │ ## list_item                                                                 │

23:17:59 #181 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:59 #182 [Debug] >

23:17:59 #183 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:59 #184 [Debug] > inl item i =

23:17:59 #185 [Debug] >     try_item i >> optionm.value

23:17:59 #186 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5971-7143-730e1360f63a\main.spi

23:17:59 #187 [Debug] >

23:17:59 #188 [Debug] > ╭─[ 157.29ms - stdout ]────────────────────────────────────────────────────────╮

23:17:59 #189 [Debug] > │ ()                                                                           │

23:17:59 #190 [Debug] > │                                                                              │

23:17:59 #191 [Debug] > │                                                                              │

23:17:59 #192 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:17:59 #193 [Debug] >

23:17:59 #194 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:17:59 #195 [Debug] > // // test

23:17:59 #196 [Debug] >

23:17:59 #197 [Debug] > listm.init 10i32 id

23:17:59 #198 [Debug] > |> item 9i32

23:17:59 #199 [Debug] > |> _equal 9

23:17:59 #200 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5987-8761-8f1fbbf9babf\main.spi

23:17:59 #201 [Debug] >

23:18:00 #202 [Debug] > ╭─[ 129.29ms - stdout ]────────────────────────────────────────────────────────╮

23:18:00 #203 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:00 #204 [Debug] > │     let v0 : string = $"_equal / actual: %A{9} / expected: %A{9}"            │

23:18:00 #205 [Debug] > │     ()                                                                       │

23:18:00 #206 [Debug] > │ method0()                                                                    │

23:18:00 #207 [Debug] > │                                                                              │

23:18:00 #208 [Debug] > │                                                                              │

23:18:00 #209 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #210 [Debug] >

23:18:00 #211 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:00 #212 [Debug] > // // test

23:18:00 #213 [Debug] >

23:18:00 #214 [Debug] > fun () =>

23:18:00 #215 [Debug] >     listm.init 10i32 id

23:18:00 #216 [Debug] >     |> item 10i32

23:18:00 #217 [Debug] >     |> ignore

23:18:00 #218 [Debug] > |> _throws

23:18:00 #219 [Debug] > |> _equal (Some "Option does not have a value.")

23:18:00 #220 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0000-0065-02b07c2deead\main.spi

23:18:00 #221 [Debug] >

23:18:00 #222 [Debug] > ╭─[ 399.43ms - stdout ]────────────────────────────────────────────────────────╮

23:18:00 #223 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:00 #224 [Debug] > │     | US0_0                                                                  │

23:18:00 #225 [Debug] > │     | US0_1 of f1_0 : string                                                 │

23:18:00 #226 [Debug] > │ let rec closure0 () () : unit =                                              │

23:18:00 #227 [Debug] > │     let v0 : int32 = failwith<int32> "Option does not have a value."         │

23:18:00 #228 [Debug] > │     ()                                                                       │

23:18:00 #229 [Debug] > │ and closure1 () (v0 : string) : US0 =                                        │

23:18:00 #230 [Debug] > │     US0_1(v0)                                                                │

23:18:00 #231 [Debug] > │ and method0 () : unit =                                                      │

23:18:00 #232 [Debug] > │     let v0 : (unit -> unit) = closure0()                                     │

23:18:00 #233 [Debug] > │     let v1 : US0 = US0_0                                                     │

23:18:00 #234 [Debug] > │     let v2 : (string -> US0) = closure1()                                    │

23:18:00 #235 [Debug] > │     let v3 : US0 = try v0 (); v1 with ex -> v2 ex.Message                    │

23:18:00 #236 [Debug] > │     let v8 : bool =                                                          │

23:18:00 #237 [Debug] > │         match v3 with                                                        │

23:18:00 #238 [Debug] > │         | US0_1(v6) -> (* Some *)                                            │

23:18:00 #239 [Debug] > │             let v7 : bool = v6 = "Option does not have a value."             │

23:18:00 #240 [Debug] > │             v7                                                               │

23:18:00 #241 [Debug] > │         | _ ->                                                               │

23:18:00 #242 [Debug] > │             false                                                            │

23:18:00 #243 [Debug] > │     let v9 : string = "Option does not have a value."                        │

23:18:00 #244 [Debug] > │     let v10 : US0 = US0_1(v9)                                                │

23:18:00 #245 [Debug] > │     let v11 : string = $"_equal / actual: %A{v3} / expected: %A{v10}"        │

23:18:00 #246 [Debug] > │     let v12 : bool = v8 = false                                              │

23:18:00 #247 [Debug] > │     if v12 then                                                              │

23:18:00 #248 [Debug] > │         failwith<unit> v11                                                   │

23:18:00 #249 [Debug] > │ method0()                                                                    │

23:18:00 #250 [Debug] > │                                                                              │

23:18:00 #251 [Debug] > │                                                                              │

23:18:00 #252 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #253 [Debug] >

23:18:00 #254 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:00 #255 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:00 #256 [Debug] > │ ## try_item_                                                                 │

23:18:00 #257 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #258 [Debug] >

23:18:00 #259 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:00 #260 [Debug] > let rec try_item_ i = function

23:18:00 #261 [Debug] >     | Cons (x, _) when i = 0 => Some x

23:18:00 #262 [Debug] >     | Cons (_, xs) => try_item_ (i - 1) xs

23:18:00 #263 [Debug] >     | Nil => None

23:18:00 #264 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0043-4330-48bff23ad275\main.spi

23:18:00 #265 [Debug] >

23:18:00 #266 [Debug] > ╭─[ 134.20ms - stdout ]────────────────────────────────────────────────────────╮

23:18:00 #267 [Debug] > │ ()                                                                           │

23:18:00 #268 [Debug] > │                                                                              │

23:18:00 #269 [Debug] > │                                                                              │

23:18:00 #270 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #271 [Debug] >

23:18:00 #272 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:00 #273 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:00 #274 [Debug] > │ ## item_                                                                     │

23:18:00 #275 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #276 [Debug] >

23:18:00 #277 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:00 #278 [Debug] > inl item_ i =

23:18:00 #279 [Debug] >     try_item_ i >> optionm.value

23:18:00 #280 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0057-5727-5d880a2ccf2d\main.spi

23:18:00 #281 [Debug] >

23:18:00 #282 [Debug] > ╭─[ 138.94ms - stdout ]────────────────────────────────────────────────────────╮

23:18:00 #283 [Debug] > │ ()                                                                           │

23:18:00 #284 [Debug] > │                                                                              │

23:18:00 #285 [Debug] > │                                                                              │

23:18:00 #286 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #287 [Debug] >

23:18:00 #288 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:00 #289 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:00 #290 [Debug] > │ ## lazy_list                                                                 │

23:18:00 #291 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #292 [Debug] >

23:18:00 #293 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:00 #294 [Debug] > union rec lazy_list t =

23:18:00 #295 [Debug] >     | LazyCons : t * (() -> lazy_list t)

23:18:00 #296 [Debug] >     | LazyNil

23:18:00 #297 [Debug] >

23:18:00 #298 [Debug] > inl rec lazy_list list =

23:18:00 #299 [Debug] >     match list with

23:18:00 #300 [Debug] >     | [[]] => LazyNil

23:18:00 #301 [Debug] >     | x :: xs => LazyCons (x, fun () => lazy_list xs)

23:18:00 #302 [Debug] >

23:18:00 #303 [Debug] > inl rec try_lazy_item i = function

23:18:00 #304 [Debug] >     | LazyCons (x, _) when i = 0 => Some x

23:18:00 #305 [Debug] >     | LazyCons (_, fn) => try_lazy_item (i - 1) (fn ())

23:18:00 #306 [Debug] >     | LazyNil => None

23:18:00 #307 [Debug] >

23:18:00 #308 [Debug] > inl lazy_item i =

23:18:00 #309 [Debug] >     try_lazy_item i >> optionm.value

23:18:00 #310 [Debug] >

23:18:00 #311 [Debug] > inl try_lazy_item_ i list =

23:18:00 #312 [Debug] >     inl i = mut i

23:18:00 #313 [Debug] >     inl list = mut list

23:18:00 #314 [Debug] >     let rec loop () =

23:18:00 #315 [Debug] >         match *list with

23:18:00 #316 [Debug] >         | LazyCons (x, _) when *i = 0 => Some x

23:18:00 #317 [Debug] >         | LazyCons (_, fn) =>

23:18:00 #318 [Debug] >             i <- *i - 1

23:18:00 #319 [Debug] >             list <- fn ()

23:18:00 #320 [Debug] >             loop ()

23:18:00 #321 [Debug] >         | LazyNil => None

23:18:00 #322 [Debug] >     loop ()

23:18:00 #323 [Debug] >

23:18:00 #324 [Debug] > inl lazy_item_ i =

23:18:00 #325 [Debug] >     try_lazy_item_ i >> optionm.value

23:18:00 #326 [Debug] >

23:18:00 #327 [Debug] > let rec try_lazy_item__ i list =

23:18:00 #328 [Debug] >     inl i = mut i

23:18:00 #329 [Debug] >     inl list = mut list

23:18:00 #330 [Debug] >     inl result = mut None

23:18:00 #331 [Debug] >     let rec loop () =

23:18:00 #332 [Debug] >         match *list with

23:18:00 #333 [Debug] >         | LazyCons (x, _) when *i = 0 => result <- Some x

23:18:00 #334 [Debug] >         | LazyCons (_, fn) =>

23:18:00 #335 [Debug] >             i <- *i - 1

23:18:00 #336 [Debug] >             list <- fn ()

23:18:00 #337 [Debug] >             loop ()

23:18:00 #338 [Debug] >         | LazyNil => ()

23:18:00 #339 [Debug] >     loop ()

23:18:00 #340 [Debug] >     *result

23:18:00 #341 [Debug] >

23:18:00 #342 [Debug] > inl lazy_item__ i =

23:18:00 #343 [Debug] >     try_lazy_item__ i >> optionm.value

23:18:00 #344 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0071-7187-728eac726a5f\main.spi

23:18:00 #345 [Debug] >

23:18:00 #346 [Debug] > ╭─[ 130.85ms - stdout ]────────────────────────────────────────────────────────╮

23:18:00 #347 [Debug] > │ ()                                                                           │

23:18:00 #348 [Debug] > │                                                                              │

23:18:00 #349 [Debug] > │                                                                              │

23:18:00 #350 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #351 [Debug] >

23:18:00 #352 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:00 #353 [Debug] > // // test

23:18:00 #354 [Debug] >

23:18:00 #355 [Debug] > listm.init 10i32 id

23:18:00 #356 [Debug] > |> lazy_list

23:18:00 #357 [Debug] > |> lazy_item 9i32

23:18:00 #358 [Debug] > |> _equal 9

23:18:00 #359 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0085-8508-842b8397b14b\main.spi

23:18:00 #360 [Debug] >

23:18:00 #361 [Debug] > ╭─[ 125.86ms - stdout ]────────────────────────────────────────────────────────╮

23:18:00 #362 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:00 #363 [Debug] > │     let v0 : string = $"_equal / actual: %A{9} / expected: %A{9}"            │

23:18:00 #364 [Debug] > │     ()                                                                       │

23:18:00 #365 [Debug] > │ method0()                                                                    │

23:18:00 #366 [Debug] > │                                                                              │

23:18:00 #367 [Debug] > │                                                                              │

23:18:00 #368 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:00 #369 [Debug] >

23:18:00 #370 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:00 #371 [Debug] > // // test

23:18:00 #372 [Debug] >

23:18:00 #373 [Debug] > listm.init 10i32 id

23:18:00 #374 [Debug] > |> lazy_list

23:18:00 #375 [Debug] > |> lazy_item_ 9i32

23:18:00 #376 [Debug] > |> _equal 9

23:18:01 #377 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0098-9803-941a75c6f771\main.spi

23:18:01 #378 [Debug] >

23:18:01 #379 [Debug] > ╭─[ 520.50ms - stdout ]────────────────────────────────────────────────────────╮

23:18:01 #380 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:18:01 #381 [Debug] > │ and UH0 =                                                                    │

23:18:01 #382 [Debug] > │     | UH0_0 of int32 * (unit -> UH0)                                         │

23:18:01 #383 [Debug] > │     | UH0_1                                                                  │

23:18:01 #384 [Debug] > │ and Mut1 = {mutable l0 : UH0}                                                │

23:18:01 #385 [Debug] > │ and [<Struct>] US0 =                                                         │

23:18:01 #386 [Debug] > │     | US0_0                                                                  │

23:18:01 #387 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:01 #388 [Debug] > │ let rec closure9 () () : UH0 =                                               │

23:18:01 #389 [Debug] > │     UH0_1                                                                    │

23:18:01 #390 [Debug] > │ and closure8 () () : UH0 =                                                   │

23:18:01 #391 [Debug] > │     let v0 : (unit -> UH0) = closure9()                                      │

23:18:01 #392 [Debug] > │     UH0_0(9, v0)                                                             │

23:18:01 #393 [Debug] > │ and closure7 () () : UH0 =                                                   │

23:18:01 #394 [Debug] > │     let v0 : (unit -> UH0) = closure8()                                      │

23:18:01 #395 [Debug] > │     UH0_0(8, v0)                                                             │

23:18:01 #396 [Debug] > │ and closure6 () () : UH0 =                                                   │

23:18:01 #397 [Debug] > │     let v0 : (unit -> UH0) = closure7()                                      │

23:18:01 #398 [Debug] > │     UH0_0(7, v0)                                                             │

23:18:01 #399 [Debug] > │ and closure5 () () : UH0 =                                                   │

23:18:01 #400 [Debug] > │     let v0 : (unit -> UH0) = closure6()                                      │

23:18:01 #401 [Debug] > │     UH0_0(6, v0)                                                             │

23:18:01 #402 [Debug] > │ and closure4 () () : UH0 =                                                   │

23:18:01 #403 [Debug] > │     let v0 : (unit -> UH0) = closure5()                                      │

23:18:01 #404 [Debug] > │     UH0_0(5, v0)                                                             │

23:18:01 #405 [Debug] > │ and closure3 () () : UH0 =                                                   │

23:18:01 #406 [Debug] > │     let v0 : (unit -> UH0) = closure4()                                      │

23:18:01 #407 [Debug] > │     UH0_0(4, v0)                                                             │

23:18:01 #408 [Debug] > │ and closure2 () () : UH0 =                                                   │

23:18:01 #409 [Debug] > │     let v0 : (unit -> UH0) = closure3()                                      │

23:18:01 #410 [Debug] > │     UH0_0(3, v0)                                                             │

23:18:01 #411 [Debug] > │ and closure1 () () : UH0 =                                                   │

23:18:01 #412 [Debug] > │     let v0 : (unit -> UH0) = closure2()                                      │

23:18:01 #413 [Debug] > │     UH0_0(2, v0)                                                             │

23:18:01 #414 [Debug] > │ and closure0 () () : UH0 =                                                   │

23:18:01 #415 [Debug] > │     let v0 : (unit -> UH0) = closure1()                                      │

23:18:01 #416 [Debug] > │     UH0_0(1, v0)                                                             │

23:18:01 #417 [Debug] > │ and method1 (v0 : Mut0, v1 : Mut1) : US0 =                                   │

23:18:01 #418 [Debug] > │     let v2 : UH0 = v1.l0                                                     │

23:18:01 #419 [Debug] > │     match v2 with                                                            │

23:18:01 #420 [Debug] > │     | UH0_0(v3, v4) -> (* LazyCons *)                                        │

23:18:01 #421 [Debug] > │         let v5 : int32 = v0.l0                                               │

23:18:01 #422 [Debug] > │         let v6 : bool = v5 = 0                                               │

23:18:01 #423 [Debug] > │         if v6 then                                                           │

23:18:01 #424 [Debug] > │             US0_1(v3)                                                        │

23:18:01 #425 [Debug] > │         else                                                                 │

23:18:01 #426 [Debug] > │             let v8 : int32 = v0.l0                                           │

23:18:01 #427 [Debug] > │             let v9 : int32 = v8 - 1                                          │

23:18:01 #428 [Debug] > │             v0.l0 <- v9                                                      │

23:18:01 #429 [Debug] > │             let v10 : UH0 = v4 ()                                            │

23:18:01 #430 [Debug] > │             v1.l0 <- v10                                                     │

23:18:01 #431 [Debug] > │             method1(v0, v1)                                                  │

23:18:01 #432 [Debug] > │     | UH0_1 -> (* LazyNil *)                                                 │

23:18:01 #433 [Debug] > │         US0_0                                                                │

23:18:01 #434 [Debug] > │ and method0 () : unit =                                                      │

23:18:01 #435 [Debug] > │     let v0 : Mut0 = {l0 = 9} : Mut0                                          │

23:18:01 #436 [Debug] > │     let v1 : (unit -> UH0) = closure0()                                      │

23:18:01 #437 [Debug] > │     let v2 : UH0 = UH0_0(0, v1)                                              │

23:18:01 #438 [Debug] > │     let v3 : Mut1 = {l0 = v2} : Mut1                                         │

23:18:01 #439 [Debug] > │     let v4 : US0 = method1(v0, v3)                                           │

23:18:01 #440 [Debug] > │     let v8 : int32 =                                                         │

23:18:01 #441 [Debug] > │         match v4 with                                                        │

23:18:01 #442 [Debug] > │         | US0_0 -> (* None *)                                                │

23:18:01 #443 [Debug] > │             failwith<int32> "Option does not have a value."                  │

23:18:01 #444 [Debug] > │         | US0_1(v5) -> (* Some *)                                            │

23:18:01 #445 [Debug] > │             v5                                                               │

23:18:01 #446 [Debug] > │     let v9 : bool = v8 = 9                                                   │

23:18:01 #447 [Debug] > │     let v10 : string = $"_equal / actual: %A{v8} / expected: %A{9}"          │

23:18:01 #448 [Debug] > │     let v11 : bool = v9 = false                                              │

23:18:01 #449 [Debug] > │     if v11 then                                                              │

23:18:01 #450 [Debug] > │         failwith<unit> v10                                                   │

23:18:01 #451 [Debug] > │ method0()                                                                    │

23:18:01 #452 [Debug] > │                                                                              │

23:18:01 #453 [Debug] > │                                                                              │

23:18:01 #454 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:01 #455 [Debug] >

23:18:01 #456 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:01 #457 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:01 #458 [Debug] > │ ## new_infinite_lazy_list                                                    │

23:18:01 #459 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:01 #460 [Debug] >

23:18:01 #461 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:01 #462 [Debug] > inl new_infinite_lazy_list fn =

23:18:01 #463 [Debug] >     inl rec loop n =

23:18:01 #464 [Debug] >         LazyCons (fn n, fun () => loop (n + 1))

23:18:01 #465 [Debug] >     loop 0

23:18:01 #466 [Debug] >

23:18:01 #467 [Debug] > inl new_infinite_lazy_list_ fn =

23:18:01 #468 [Debug] >     let rec loop n =

23:18:01 #469 [Debug] >         LazyCons (fn n, fun () => loop (n + 1))

23:18:01 #470 [Debug] >     loop 0

23:18:01 #471 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0155-5506-5eb245f0726d\main.spi

23:18:01 #472 [Debug] >

23:18:01 #473 [Debug] > ╭─[ 151.36ms - stdout ]────────────────────────────────────────────────────────╮

23:18:01 #474 [Debug] > │ ()                                                                           │

23:18:01 #475 [Debug] > │                                                                              │

23:18:01 #476 [Debug] > │                                                                              │

23:18:01 #477 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:01 #478 [Debug] >

23:18:01 #479 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:01 #480 [Debug] > // // test

23:18:01 #481 [Debug] >

23:18:01 #482 [Debug] > new_infinite_lazy_list print_and_return

23:18:01 #483 [Debug] > |> lazy_item 4i32

23:18:01 #484 [Debug] > |> _equal 4i32

23:18:01 #485 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0170-7030-77efc94141cc\main.spi

23:18:01 #486 [Debug] >

23:18:01 #487 [Debug] > ╭─[ 185.37ms - stdout ]────────────────────────────────────────────────────────╮

23:18:01 #488 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:01 #489 [Debug] > │     printfn $"print_and_return / x: {0}"                                     │

23:18:01 #490 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:01 #491 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:01 #492 [Debug] > │     printfn $"print_and_return / x: {3}"                                     │

23:18:01 #493 [Debug] > │     printfn $"print_and_return / x: {4}"                                     │

23:18:01 #494 [Debug] > │     let v0 : string = $"_equal / actual: %A{4} / expected: %A{4}"            │

23:18:01 #495 [Debug] > │     ()                                                                       │

23:18:01 #496 [Debug] > │ method0()                                                                    │

23:18:01 #497 [Debug] > │                                                                              │

23:18:01 #498 [Debug] > │ print_and_return / x: 0                                                      │

23:18:01 #499 [Debug] > │ print_and_return / x: 1                                                      │

23:18:01 #500 [Debug] > │ print_and_return / x: 2                                                      │

23:18:01 #501 [Debug] > │ print_and_return / x: 3                                                      │

23:18:01 #502 [Debug] > │ print_and_return / x: 4                                                      │

23:18:01 #503 [Debug] > │                                                                              │

23:18:01 #504 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:01 #505 [Debug] >

23:18:01 #506 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:01 #507 [Debug] > inl new_finite_lazy_list fn max =

23:18:01 #508 [Debug] >     inl rec loop n =

23:18:01 #509 [Debug] >         if n >= max

23:18:01 #510 [Debug] >         then LazyNil

23:18:01 #511 [Debug] >         else LazyCons (fn n, fun () => loop (n + 1))

23:18:01 #512 [Debug] >     loop 0

23:18:01 #513 [Debug] >

23:18:01 #514 [Debug] > inl new_finite_lazy_list_ fn max =

23:18:01 #515 [Debug] >     let rec loop n =

23:18:01 #516 [Debug] >         if n >= max

23:18:01 #517 [Debug] >         then LazyNil

23:18:01 #518 [Debug] >         else LazyCons (fn n, fun () => loop (n + 1))

23:18:01 #519 [Debug] >     loop 0

23:18:01 #520 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0189-8980-83698a514c92\main.spi

23:18:02 #521 [Debug] >

23:18:02 #522 [Debug] > ╭─[ 169.45ms - stdout ]────────────────────────────────────────────────────────╮

23:18:02 #523 [Debug] > │ ()                                                                           │

23:18:02 #524 [Debug] > │                                                                              │

23:18:02 #525 [Debug] > │                                                                              │

23:18:02 #526 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:02 #527 [Debug] >

23:18:02 #528 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:02 #529 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:02 #530 [Debug] > │ ## memoize_lazy_list                                                         │

23:18:02 #531 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:02 #532 [Debug] >

23:18:02 #533 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:02 #534 [Debug] > union memoized_lazy_list t =

23:18:02 #535 [Debug] >     | NotComputed : () -> lazy_list t

23:18:02 #536 [Debug] >     | Computed : lazy_list t

23:18:02 #537 [Debug] >

23:18:02 #538 [Debug] > inl memoize_lazy_list list =

23:18:02 #539 [Debug] >     inl rec loop list =

23:18:02 #540 [Debug] >         inl state = mut (NotComputed list)

23:18:02 #541 [Debug] >         fun () =>

23:18:02 #542 [Debug] >             match *state with

23:18:02 #543 [Debug] >             | Computed x => x

23:18:02 #544 [Debug] >             | NotComputed fn =>

23:18:02 #545 [Debug] >                 inl new_state =

23:18:02 #546 [Debug] >                     match fn () with

23:18:02 #547 [Debug] >                     | LazyNil => LazyNil

23:18:02 #548 [Debug] >                     | LazyCons (x, fn) => LazyCons (x, loop fn)

23:18:02 #549 [Debug] >                 state <- Computed new_state

23:18:02 #550 [Debug] >                 new_state

23:18:02 #551 [Debug] >     loop (fun () => list)

23:18:02 #552 [Debug] >

23:18:02 #553 [Debug] > inl memoize_lazy_list_ list =

23:18:02 #554 [Debug] >     let rec loop list =

23:18:02 #555 [Debug] >         inl state = mut (NotComputed list)

23:18:02 #556 [Debug] >         fun () =>

23:18:02 #557 [Debug] >             match *state with

23:18:02 #558 [Debug] >             | Computed x => x

23:18:02 #559 [Debug] >             | NotComputed fn =>

23:18:02 #560 [Debug] >                 inl new_state =

23:18:02 #561 [Debug] >                     match fn () with

23:18:02 #562 [Debug] >                     | LazyNil => LazyNil

23:18:02 #563 [Debug] >                     | LazyCons (x, fn) => LazyCons (x, loop fn)

23:18:02 #564 [Debug] >                 state <- Computed new_state

23:18:02 #565 [Debug] >                 new_state

23:18:02 #566 [Debug] >     loop (fun () => list)

23:18:02 #567 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0207-0750-02346bf9ace8\main.spi

23:18:02 #568 [Debug] >

23:18:02 #569 [Debug] > ╭─[ 146.61ms - stdout ]────────────────────────────────────────────────────────╮

23:18:02 #570 [Debug] > │ ()                                                                           │

23:18:02 #571 [Debug] > │                                                                              │

23:18:02 #572 [Debug] > │                                                                              │

23:18:02 #573 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:02 #574 [Debug] >

23:18:02 #575 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:02 #576 [Debug] > // // test

23:18:02 #577 [Debug] >

23:18:02 #578 [Debug] > inl memo_list = new_finite_lazy_list print_and_return 10 |> memoize_lazy_list

23:18:02 #579 [Debug] >

23:18:02 #580 [Debug] > memo_list ()

23:18:02 #581 [Debug] > |> lazy_item 3i32

23:18:02 #582 [Debug] > |> _equal 3i32

23:18:02 #583 [Debug] >

23:18:02 #584 [Debug] > memo_list ()

23:18:02 #585 [Debug] > |> lazy_item 5i32

23:18:02 #586 [Debug] > |> _equal 5i32

23:18:02 #587 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0222-2226-2429f204141b\main.spi

23:18:02 #588 [Debug] >

23:18:02 #589 [Debug] > ╭─[ 296.90ms - stdout ]────────────────────────────────────────────────────────╮

23:18:02 #590 [Debug] > │ type UH0 =                                                                   │

23:18:02 #591 [Debug] > │     | UH0_0 of int32 * (unit -> UH0)                                         │

23:18:02 #592 [Debug] > │     | UH0_1                                                                  │

23:18:02 #593 [Debug] > │ and [<Struct>] US0 =                                                         │

23:18:02 #594 [Debug] > │     | US0_0 of f0_0 : UH0                                                    │

23:18:02 #595 [Debug] > │     | US0_1 of f1_0 : (unit -> UH0)                                          │

23:18:02 #596 [Debug] > │ and Mut0 = {mutable l0 : US0}                                                │

23:18:02 #597 [Debug] > │ and [<Struct>] US1 =                                                         │

23:18:02 #598 [Debug] > │     | US1_0                                                                  │

23:18:02 #599 [Debug] > │     | US1_1 of f1_0 : int32                                                  │

23:18:02 #600 [Debug] > │ let rec closure10 () () : UH0 =                                              │

23:18:02 #601 [Debug] > │     UH0_1                                                                    │

23:18:02 #602 [Debug] > │ and closure9 () () : UH0 =                                                   │

23:18:02 #603 [Debug] > │     printfn $"print_and_return / x: {9}"                                     │

23:18:02 #604 [Debug] > │     let v0 : (unit -> UH0) = closure10()                                     │

23:18:02 #605 [Debug] > │     UH0_0(9, v0)                                                             │

23:18:02 #606 [Debug] > │ and closure8 () () : UH0 =                                                   │

23:18:02 #607 [Debug] > │     printfn $"print_and_return / x: {8}"                                     │

23:18:02 #608 [Debug] > │     let v0 : (unit -> UH0) = closure9()                                      │

23:18:02 #609 [Debug] > │     UH0_0(8, v0)                                                             │

23:18:02 #610 [Debug] > │ and closure7 () () : UH0 =                                                   │

23:18:02 #611 [Debug] > │     printfn $"print_and_return / x: {7}"                                     │

23:18:02 #612 [Debug] > │     let v0 : (unit -> UH0) = closure8()                                      │

23:18:02 #613 [Debug] > │     UH0_0(7, v0)                                                             │

23:18:02 #614 [Debug] > │ and closure6 () () : UH0 =                                                   │

23:18:02 #615 [Debug] > │     printfn $"print_and_return / x: {6}"                                     │

23:18:02 #616 [Debug] > │     let v0 : (unit -> UH0) = closure7()                                      │

23:18:02 #617 [Debug] > │     UH0_0(6, v0)                                                             │

23:18:02 #618 [Debug] > │ and closure5 () () : UH0 =                                                   │

23:18:02 #619 [Debug] > │     printfn $"print_and_return / x: {5}"                                     │

23:18:02 #620 [Debug] > │     let v0 : (unit -> UH0) = closure6()                                      │

23:18:02 #621 [Debug] > │     UH0_0(5, v0)                                                             │

23:18:02 #622 [Debug] > │ and closure4 () () : UH0 =                                                   │

23:18:02 #623 [Debug] > │     printfn $"print_and_return / x: {4}"                                     │

23:18:02 #624 [Debug] > │     let v0 : (unit -> UH0) = closure5()                                      │

23:18:02 #625 [Debug] > │     UH0_0(4, v0)                                                             │

23:18:02 #626 [Debug] > │ and closure3 () () : UH0 =                                                   │

23:18:02 #627 [Debug] > │     printfn $"print_and_return / x: {3}"                                     │

23:18:02 #628 [Debug] > │     let v0 : (unit -> UH0) = closure4()                                      │

23:18:02 #629 [Debug] > │     UH0_0(3, v0)                                                             │

23:18:02 #630 [Debug] > │ and closure2 () () : UH0 =                                                   │

23:18:02 #631 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:02 #632 [Debug] > │     let v0 : (unit -> UH0) = closure3()                                      │

23:18:02 #633 [Debug] > │     UH0_0(2, v0)                                                             │

23:18:02 #634 [Debug] > │ and closure1 () () : UH0 =                                                   │

23:18:02 #635 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:02 #636 [Debug] > │     let v0 : (unit -> UH0) = closure2()                                      │

23:18:02 #637 [Debug] > │     UH0_0(1, v0)                                                             │

23:18:02 #638 [Debug] > │ and closure0 () () : UH0 =                                                   │

23:18:02 #639 [Debug] > │     let v0 : (unit -> UH0) = closure1()                                      │

23:18:02 #640 [Debug] > │     UH0_0(0, v0)                                                             │

23:18:02 #641 [Debug] > │ and closure11 (v0 : Mut0) () : UH0 =                                         │

23:18:02 #642 [Debug] > │     let v1 : US0 = v0.l0                                                     │

23:18:02 #643 [Debug] > │     match v1 with                                                            │

23:18:02 #644 [Debug] > │     | US0_0(v2) -> (* Computed *)                                            │

23:18:02 #645 [Debug] > │         v2                                                                   │

23:18:02 #646 [Debug] > │     | US0_1(v3) -> (* NotComputed *)                                         │

23:18:02 #647 [Debug] > │         let v4 : UH0 = v3 ()                                                 │

23:18:02 #648 [Debug] > │         let v13 : UH0 =                                                      │

23:18:02 #649 [Debug] > │             match v4 with                                                    │

23:18:02 #650 [Debug] > │             | UH0_0(v6, v7) -> (* LazyCons *)                                │

23:18:02 #651 [Debug] > │                 let v8 : US0 = US0_1(v7)                                     │

23:18:02 #652 [Debug] > │                 let v9 : Mut0 = {l0 = v8} : Mut0                             │

23:18:02 #653 [Debug] > │                 let v10 : (unit -> UH0) = closure11(v9)                      │

23:18:02 #654 [Debug] > │                 UH0_0(v6, v10)                                               │

23:18:02 #655 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:02 #656 [Debug] > │                 UH0_1                                                        │

23:18:02 #657 [Debug] > │         let v14 : US0 = US0_0(v13)                                           │

23:18:02 #658 [Debug] > │         v0.l0 <- v14                                                         │

23:18:02 #659 [Debug] > │         v13                                                                  │

23:18:02 #660 [Debug] > │ and method0 () : unit =                                                      │

23:18:02 #661 [Debug] > │     printfn $"print_and_return / x: {0}"                                     │

23:18:02 #662 [Debug] > │     let v0 : (unit -> UH0) = closure0()                                      │

23:18:02 #663 [Debug] > │     let v1 : US0 = US0_1(v0)                                                 │

23:18:02 #664 [Debug] > │     let v2 : Mut0 = {l0 = v1} : Mut0                                         │

23:18:02 #665 [Debug] > │     let v3 : US0 = v2.l0                                                     │

23:18:02 #666 [Debug] > │     let v18 : UH0 =                                                          │

23:18:02 #667 [Debug] > │         match v3 with                                                        │

23:18:02 #668 [Debug] > │         | US0_0(v4) -> (* Computed *)                                        │

23:18:02 #669 [Debug] > │             v4                                                               │

23:18:02 #670 [Debug] > │         | US0_1(v5) -> (* NotComputed *)                                     │

23:18:02 #671 [Debug] > │             let v6 : UH0 = v5 ()                                             │

23:18:02 #672 [Debug] > │             let v15 : UH0 =                                                  │

23:18:02 #673 [Debug] > │                 match v6 with                                                │

23:18:02 #674 [Debug] > │                 | UH0_0(v8, v9) -> (* LazyCons *)                            │

23:18:02 #675 [Debug] > │                     let v10 : US0 = US0_1(v9)                                │

23:18:02 #676 [Debug] > │                     let v11 : Mut0 = {l0 = v10} : Mut0                       │

23:18:02 #677 [Debug] > │                     let v12 : (unit -> UH0) = closure11(v11)                 │

23:18:02 #678 [Debug] > │                     UH0_0(v8, v12)                                           │

23:18:02 #679 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #680 [Debug] > │                     UH0_1                                                    │

23:18:02 #681 [Debug] > │             let v16 : US0 = US0_0(v15)                                       │

23:18:02 #682 [Debug] > │             v2.l0 <- v16                                                     │

23:18:02 #683 [Debug] > │             v15                                                              │

23:18:02 #684 [Debug] > │     let v42 : US1 =                                                          │

23:18:02 #685 [Debug] > │         match v18 with                                                       │

23:18:02 #686 [Debug] > │         | UH0_0(v19, v20) -> (* LazyCons *)                                  │

23:18:02 #687 [Debug] > │             let v21 : UH0 = v20 ()                                           │

23:18:02 #688 [Debug] > │             match v21 with                                                   │

23:18:02 #689 [Debug] > │             | UH0_0(v22, v23) -> (* LazyCons *)                              │

23:18:02 #690 [Debug] > │                 let v24 : UH0 = v23 ()                                       │

23:18:02 #691 [Debug] > │                 match v24 with                                               │

23:18:02 #692 [Debug] > │                 | UH0_0(v25, v26) -> (* LazyCons *)                          │

23:18:02 #693 [Debug] > │                     let v27 : UH0 = v26 ()                                   │

23:18:02 #694 [Debug] > │                     match v27 with                                           │

23:18:02 #695 [Debug] > │                     | UH0_0(v28, v29) -> (* LazyCons *)                      │

23:18:02 #696 [Debug] > │                         US1_1(v28)                                           │

23:18:02 #697 [Debug] > │                     | UH0_1 -> (* LazyNil *)                                 │

23:18:02 #698 [Debug] > │                         US1_0                                                │

23:18:02 #699 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #700 [Debug] > │                     US1_0                                                    │

23:18:02 #701 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:02 #702 [Debug] > │                 US1_0                                                        │

23:18:02 #703 [Debug] > │         | UH0_1 -> (* LazyNil *)                                             │

23:18:02 #704 [Debug] > │             US1_0                                                            │

23:18:02 #705 [Debug] > │     let v46 : int32 =                                                        │

23:18:02 #706 [Debug] > │         match v42 with                                                       │

23:18:02 #707 [Debug] > │         | US1_0 -> (* None *)                                                │

23:18:02 #708 [Debug] > │             failwith<int32> "Option does not have a value."                  │

23:18:02 #709 [Debug] > │         | US1_1(v43) -> (* Some *)                                           │

23:18:02 #710 [Debug] > │             v43                                                              │

23:18:02 #711 [Debug] > │     let v47 : bool = v46 = 3                                                 │

23:18:02 #712 [Debug] > │     let v48 : string = $"_equal / actual: %A{v46} / expected: %A{3}"         │

23:18:02 #713 [Debug] > │     let v49 : bool = v47 = false                                             │

23:18:02 #714 [Debug] > │     if v49 then                                                              │

23:18:02 #715 [Debug] > │         failwith<unit> v48                                                   │

23:18:02 #716 [Debug] > │     let v50 : US0 = v2.l0                                                    │

23:18:02 #717 [Debug] > │     let v65 : UH0 =                                                          │

23:18:02 #718 [Debug] > │         match v50 with                                                       │

23:18:02 #719 [Debug] > │         | US0_0(v51) -> (* Computed *)                                       │

23:18:02 #720 [Debug] > │             v51                                                              │

23:18:02 #721 [Debug] > │         | US0_1(v52) -> (* NotComputed *)                                    │

23:18:02 #722 [Debug] > │             let v53 : UH0 = v52 ()                                           │

23:18:02 #723 [Debug] > │             let v62 : UH0 =                                                  │

23:18:02 #724 [Debug] > │                 match v53 with                                               │

23:18:02 #725 [Debug] > │                 | UH0_0(v55, v56) -> (* LazyCons *)                          │

23:18:02 #726 [Debug] > │                     let v57 : US0 = US0_1(v56)                               │

23:18:02 #727 [Debug] > │                     let v58 : Mut0 = {l0 = v57} : Mut0                       │

23:18:02 #728 [Debug] > │                     let v59 : (unit -> UH0) = closure11(v58)                 │

23:18:02 #729 [Debug] > │                     UH0_0(v55, v59)                                          │

23:18:02 #730 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #731 [Debug] > │                     UH0_1                                                    │

23:18:02 #732 [Debug] > │             let v63 : US0 = US0_0(v62)                                       │

23:18:02 #733 [Debug] > │             v2.l0 <- v63                                                     │

23:18:02 #734 [Debug] > │             v62                                                              │

23:18:02 #735 [Debug] > │     let v101 : US1 =                                                         │

23:18:02 #736 [Debug] > │         match v65 with                                                       │

23:18:02 #737 [Debug] > │         | UH0_0(v66, v67) -> (* LazyCons *)                                  │

23:18:02 #738 [Debug] > │             let v68 : UH0 = v67 ()                                           │

23:18:02 #739 [Debug] > │             match v68 with                                                   │

23:18:02 #740 [Debug] > │             | UH0_0(v69, v70) -> (* LazyCons *)                              │

23:18:02 #741 [Debug] > │                 let v71 : UH0 = v70 ()                                       │

23:18:02 #742 [Debug] > │                 match v71 with                                               │

23:18:02 #743 [Debug] > │                 | UH0_0(v72, v73) -> (* LazyCons *)                          │

23:18:02 #744 [Debug] > │                     let v74 : UH0 = v73 ()                                   │

23:18:02 #745 [Debug] > │                     match v74 with                                           │

23:18:02 #746 [Debug] > │                     | UH0_0(v75, v76) -> (* LazyCons *)                      │

23:18:02 #747 [Debug] > │                         let v77 : UH0 = v76 ()                               │

23:18:02 #748 [Debug] > │                         match v77 with                                       │

23:18:02 #749 [Debug] > │                         | UH0_0(v78, v79) -> (* LazyCons *)                  │

23:18:02 #750 [Debug] > │                             let v80 : UH0 = v79 ()                           │

23:18:02 #751 [Debug] > │                             match v80 with                                   │

23:18:02 #752 [Debug] > │                             | UH0_0(v81, v82) -> (* LazyCons *)              │

23:18:02 #753 [Debug] > │                                 US1_1(v81)                                   │

23:18:02 #754 [Debug] > │                             | UH0_1 -> (* LazyNil *)                         │

23:18:02 #755 [Debug] > │                                 US1_0                                        │

23:18:02 #756 [Debug] > │                         | UH0_1 -> (* LazyNil *)                             │

23:18:02 #757 [Debug] > │                             US1_0                                            │

23:18:02 #758 [Debug] > │                     | UH0_1 -> (* LazyNil *)                                 │

23:18:02 #759 [Debug] > │                         US1_0                                                │

23:18:02 #760 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #761 [Debug] > │                     US1_0                                                    │

23:18:02 #762 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:02 #763 [Debug] > │                 US1_0                                                        │

23:18:02 #764 [Debug] > │         | UH0_1 -> (* LazyNil *)                                             │

23:18:02 #765 [Debug] > │             US1_0                                                            │

23:18:02 #766 [Debug] > │     let v105 : int32 =                                                       │

23:18:02 #767 [Debug] > │         match v101 with                                                      │

23:18:02 #768 [Debug] > │         | US1_0 -> (* None *)                                                │

23:18:02 #769 [Debug] > │             failwith<int32> "Option does not have a value."                  │

23:18:02 #770 [Debug] > │         | US1_1(v102) -> (* Some *)                                          │

23:18:02 #771 [Debug] > │             v102                                                             │

23:18:02 #772 [Debug] > │     let v106 : bool = v105 = 5                                               │

23:18:02 #773 [Debug] > │     let v107 : string = $"_equal / actual: %A{v105} / expected: %A{5}"       │

23:18:02 #774 [Debug] > │     let v108 : bool = v106 = false                                           │

23:18:02 #775 [Debug] > │     if v108 then                                                             │

23:18:02 #776 [Debug] > │         failwith<unit> v107                                                  │

23:18:02 #777 [Debug] > │ method0()                                                                    │

23:18:02 #778 [Debug] > │                                                                              │

23:18:02 #779 [Debug] > │ print_and_return / x: 0                                                      │

23:18:02 #780 [Debug] > │ print_and_return / x: 1                                                      │

23:18:02 #781 [Debug] > │ print_and_return / x: 2                                                      │

23:18:02 #782 [Debug] > │ print_and_return / x: 3                                                      │

23:18:02 #783 [Debug] > │ print_and_return / x: 4                                                      │

23:18:02 #784 [Debug] > │ print_and_return / x: 5                                                      │

23:18:02 #785 [Debug] > │                                                                              │

23:18:02 #786 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:02 #787 [Debug] >

23:18:02 #788 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:02 #789 [Debug] > // // test

23:18:02 #790 [Debug] >

23:18:02 #791 [Debug] > inl memo_list = new_infinite_lazy_list_ print_and_return |> memoize_lazy_list

23:18:02 #792 [Debug] >

23:18:02 #793 [Debug] > memo_list ()

23:18:02 #794 [Debug] > |> lazy_item 3i32

23:18:02 #795 [Debug] > |> _equal 3i32

23:18:02 #796 [Debug] >

23:18:02 #797 [Debug] > memo_list ()

23:18:02 #798 [Debug] > |> lazy_item 5i32

23:18:02 #799 [Debug] > |> _equal 5i32

23:18:02 #800 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0261-6149-6b9ba1d71dff\main.spi

23:18:02 #801 [Debug] >

23:18:02 #802 [Debug] > ╭─[ 262.76ms - stdout ]────────────────────────────────────────────────────────╮

23:18:02 #803 [Debug] > │ type UH0 =                                                                   │

23:18:02 #804 [Debug] > │     | UH0_0 of int32 * (unit -> UH0)                                         │

23:18:02 #805 [Debug] > │     | UH0_1                                                                  │

23:18:02 #806 [Debug] > │ and [<Struct>] US0 =                                                         │

23:18:02 #807 [Debug] > │     | US0_0 of f0_0 : UH0                                                    │

23:18:02 #808 [Debug] > │     | US0_1 of f1_0 : (unit -> UH0)                                          │

23:18:02 #809 [Debug] > │ and Mut0 = {mutable l0 : US0}                                                │

23:18:02 #810 [Debug] > │ and [<Struct>] US1 =                                                         │

23:18:02 #811 [Debug] > │     | US1_0                                                                  │

23:18:02 #812 [Debug] > │     | US1_1 of f1_0 : int32                                                  │

23:18:02 #813 [Debug] > │ let rec closure0 (v0 : int32) () : UH0 =                                     │

23:18:02 #814 [Debug] > │     let v1 : int32 = v0 + 1                                                  │

23:18:02 #815 [Debug] > │     method1(v1)                                                              │

23:18:02 #816 [Debug] > │ and method1 (v0 : int32) : UH0 =                                             │

23:18:02 #817 [Debug] > │     printfn $"print_and_return / x: {v0}"                                    │

23:18:02 #818 [Debug] > │     let v1 : (unit -> UH0) = closure0(v0)                                    │

23:18:02 #819 [Debug] > │     UH0_0(v0, v1)                                                            │

23:18:02 #820 [Debug] > │ and closure1 (v0 : UH0) () : UH0 =                                           │

23:18:02 #821 [Debug] > │     v0                                                                       │

23:18:02 #822 [Debug] > │ and closure2 (v0 : Mut0) () : UH0 =                                          │

23:18:02 #823 [Debug] > │     let v1 : US0 = v0.l0                                                     │

23:18:02 #824 [Debug] > │     match v1 with                                                            │

23:18:02 #825 [Debug] > │     | US0_0(v2) -> (* Computed *)                                            │

23:18:02 #826 [Debug] > │         v2                                                                   │

23:18:02 #827 [Debug] > │     | US0_1(v3) -> (* NotComputed *)                                         │

23:18:02 #828 [Debug] > │         let v4 : UH0 = v3 ()                                                 │

23:18:02 #829 [Debug] > │         let v13 : UH0 =                                                      │

23:18:02 #830 [Debug] > │             match v4 with                                                    │

23:18:02 #831 [Debug] > │             | UH0_0(v6, v7) -> (* LazyCons *)                                │

23:18:02 #832 [Debug] > │                 let v8 : US0 = US0_1(v7)                                     │

23:18:02 #833 [Debug] > │                 let v9 : Mut0 = {l0 = v8} : Mut0                             │

23:18:02 #834 [Debug] > │                 let v10 : (unit -> UH0) = closure2(v9)                       │

23:18:02 #835 [Debug] > │                 UH0_0(v6, v10)                                               │

23:18:02 #836 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:02 #837 [Debug] > │                 UH0_1                                                        │

23:18:02 #838 [Debug] > │         let v14 : US0 = US0_0(v13)                                           │

23:18:02 #839 [Debug] > │         v0.l0 <- v14                                                         │

23:18:02 #840 [Debug] > │         v13                                                                  │

23:18:02 #841 [Debug] > │ and method0 () : unit =                                                      │

23:18:02 #842 [Debug] > │     let v0 : int32 = 0                                                       │

23:18:02 #843 [Debug] > │     let v1 : UH0 = method1(v0)                                               │

23:18:02 #844 [Debug] > │     let v2 : (unit -> UH0) = closure1(v1)                                    │

23:18:02 #845 [Debug] > │     let v3 : US0 = US0_1(v2)                                                 │

23:18:02 #846 [Debug] > │     let v4 : Mut0 = {l0 = v3} : Mut0                                         │

23:18:02 #847 [Debug] > │     let v5 : US0 = v4.l0                                                     │

23:18:02 #848 [Debug] > │     let v20 : UH0 =                                                          │

23:18:02 #849 [Debug] > │         match v5 with                                                        │

23:18:02 #850 [Debug] > │         | US0_0(v6) -> (* Computed *)                                        │

23:18:02 #851 [Debug] > │             v6                                                               │

23:18:02 #852 [Debug] > │         | US0_1(v7) -> (* NotComputed *)                                     │

23:18:02 #853 [Debug] > │             let v8 : UH0 = v7 ()                                             │

23:18:02 #854 [Debug] > │             let v17 : UH0 =                                                  │

23:18:02 #855 [Debug] > │                 match v8 with                                                │

23:18:02 #856 [Debug] > │                 | UH0_0(v10, v11) -> (* LazyCons *)                          │

23:18:02 #857 [Debug] > │                     let v12 : US0 = US0_1(v11)                               │

23:18:02 #858 [Debug] > │                     let v13 : Mut0 = {l0 = v12} : Mut0                       │

23:18:02 #859 [Debug] > │                     let v14 : (unit -> UH0) = closure2(v13)                  │

23:18:02 #860 [Debug] > │                     UH0_0(v10, v14)                                          │

23:18:02 #861 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #862 [Debug] > │                     UH0_1                                                    │

23:18:02 #863 [Debug] > │             let v18 : US0 = US0_0(v17)                                       │

23:18:02 #864 [Debug] > │             v4.l0 <- v18                                                     │

23:18:02 #865 [Debug] > │             v17                                                              │

23:18:02 #866 [Debug] > │     let v44 : US1 =                                                          │

23:18:02 #867 [Debug] > │         match v20 with                                                       │

23:18:02 #868 [Debug] > │         | UH0_0(v21, v22) -> (* LazyCons *)                                  │

23:18:02 #869 [Debug] > │             let v23 : UH0 = v22 ()                                           │

23:18:02 #870 [Debug] > │             match v23 with                                                   │

23:18:02 #871 [Debug] > │             | UH0_0(v24, v25) -> (* LazyCons *)                              │

23:18:02 #872 [Debug] > │                 let v26 : UH0 = v25 ()                                       │

23:18:02 #873 [Debug] > │                 match v26 with                                               │

23:18:02 #874 [Debug] > │                 | UH0_0(v27, v28) -> (* LazyCons *)                          │

23:18:02 #875 [Debug] > │                     let v29 : UH0 = v28 ()                                   │

23:18:02 #876 [Debug] > │                     match v29 with                                           │

23:18:02 #877 [Debug] > │                     | UH0_0(v30, v31) -> (* LazyCons *)                      │

23:18:02 #878 [Debug] > │                         US1_1(v30)                                           │

23:18:02 #879 [Debug] > │                     | UH0_1 -> (* LazyNil *)                                 │

23:18:02 #880 [Debug] > │                         US1_0                                                │

23:18:02 #881 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #882 [Debug] > │                     US1_0                                                    │

23:18:02 #883 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:02 #884 [Debug] > │                 US1_0                                                        │

23:18:02 #885 [Debug] > │         | UH0_1 -> (* LazyNil *)                                             │

23:18:02 #886 [Debug] > │             US1_0                                                            │

23:18:02 #887 [Debug] > │     let v48 : int32 =                                                        │

23:18:02 #888 [Debug] > │         match v44 with                                                       │

23:18:02 #889 [Debug] > │         | US1_0 -> (* None *)                                                │

23:18:02 #890 [Debug] > │             failwith<int32> "Option does not have a value."                  │

23:18:02 #891 [Debug] > │         | US1_1(v45) -> (* Some *)                                           │

23:18:02 #892 [Debug] > │             v45                                                              │

23:18:02 #893 [Debug] > │     let v49 : bool = v48 = 3                                                 │

23:18:02 #894 [Debug] > │     let v50 : string = $"_equal / actual: %A{v48} / expected: %A{3}"         │

23:18:02 #895 [Debug] > │     let v51 : bool = v49 = false                                             │

23:18:02 #896 [Debug] > │     if v51 then                                                              │

23:18:02 #897 [Debug] > │         failwith<unit> v50                                                   │

23:18:02 #898 [Debug] > │     let v52 : US0 = v4.l0                                                    │

23:18:02 #899 [Debug] > │     let v67 : UH0 =                                                          │

23:18:02 #900 [Debug] > │         match v52 with                                                       │

23:18:02 #901 [Debug] > │         | US0_0(v53) -> (* Computed *)                                       │

23:18:02 #902 [Debug] > │             v53                                                              │

23:18:02 #903 [Debug] > │         | US0_1(v54) -> (* NotComputed *)                                    │

23:18:02 #904 [Debug] > │             let v55 : UH0 = v54 ()                                           │

23:18:02 #905 [Debug] > │             let v64 : UH0 =                                                  │

23:18:02 #906 [Debug] > │                 match v55 with                                               │

23:18:02 #907 [Debug] > │                 | UH0_0(v57, v58) -> (* LazyCons *)                          │

23:18:02 #908 [Debug] > │                     let v59 : US0 = US0_1(v58)                               │

23:18:02 #909 [Debug] > │                     let v60 : Mut0 = {l0 = v59} : Mut0                       │

23:18:02 #910 [Debug] > │                     let v61 : (unit -> UH0) = closure2(v60)                  │

23:18:02 #911 [Debug] > │                     UH0_0(v57, v61)                                          │

23:18:02 #912 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #913 [Debug] > │                     UH0_1                                                    │

23:18:02 #914 [Debug] > │             let v65 : US0 = US0_0(v64)                                       │

23:18:02 #915 [Debug] > │             v4.l0 <- v65                                                     │

23:18:02 #916 [Debug] > │             v64                                                              │

23:18:02 #917 [Debug] > │     let v103 : US1 =                                                         │

23:18:02 #918 [Debug] > │         match v67 with                                                       │

23:18:02 #919 [Debug] > │         | UH0_0(v68, v69) -> (* LazyCons *)                                  │

23:18:02 #920 [Debug] > │             let v70 : UH0 = v69 ()                                           │

23:18:02 #921 [Debug] > │             match v70 with                                                   │

23:18:02 #922 [Debug] > │             | UH0_0(v71, v72) -> (* LazyCons *)                              │

23:18:02 #923 [Debug] > │                 let v73 : UH0 = v72 ()                                       │

23:18:02 #924 [Debug] > │                 match v73 with                                               │

23:18:02 #925 [Debug] > │                 | UH0_0(v74, v75) -> (* LazyCons *)                          │

23:18:02 #926 [Debug] > │                     let v76 : UH0 = v75 ()                                   │

23:18:02 #927 [Debug] > │                     match v76 with                                           │

23:18:02 #928 [Debug] > │                     | UH0_0(v77, v78) -> (* LazyCons *)                      │

23:18:02 #929 [Debug] > │                         let v79 : UH0 = v78 ()                               │

23:18:02 #930 [Debug] > │                         match v79 with                                       │

23:18:02 #931 [Debug] > │                         | UH0_0(v80, v81) -> (* LazyCons *)                  │

23:18:02 #932 [Debug] > │                             let v82 : UH0 = v81 ()                           │

23:18:02 #933 [Debug] > │                             match v82 with                                   │

23:18:02 #934 [Debug] > │                             | UH0_0(v83, v84) -> (* LazyCons *)              │

23:18:02 #935 [Debug] > │                                 US1_1(v83)                                   │

23:18:02 #936 [Debug] > │                             | UH0_1 -> (* LazyNil *)                         │

23:18:02 #937 [Debug] > │                                 US1_0                                        │

23:18:02 #938 [Debug] > │                         | UH0_1 -> (* LazyNil *)                             │

23:18:02 #939 [Debug] > │                             US1_0                                            │

23:18:02 #940 [Debug] > │                     | UH0_1 -> (* LazyNil *)                                 │

23:18:02 #941 [Debug] > │                         US1_0                                                │

23:18:02 #942 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:02 #943 [Debug] > │                     US1_0                                                    │

23:18:02 #944 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:02 #945 [Debug] > │                 US1_0                                                        │

23:18:02 #946 [Debug] > │         | UH0_1 -> (* LazyNil *)                                             │

23:18:02 #947 [Debug] > │             US1_0                                                            │

23:18:02 #948 [Debug] > │     let v107 : int32 =                                                       │

23:18:02 #949 [Debug] > │         match v103 with                                                      │

23:18:02 #950 [Debug] > │         | US1_0 -> (* None *)                                                │

23:18:02 #951 [Debug] > │             failwith<int32> "Option does not have a value."                  │

23:18:02 #952 [Debug] > │         | US1_1(v104) -> (* Some *)                                          │

23:18:02 #953 [Debug] > │             v104                                                             │

23:18:02 #954 [Debug] > │     let v108 : bool = v107 = 5                                               │

23:18:02 #955 [Debug] > │     let v109 : string = $"_equal / actual: %A{v107} / expected: %A{5}"       │

23:18:02 #956 [Debug] > │     let v110 : bool = v108 = false                                           │

23:18:02 #957 [Debug] > │     if v110 then                                                             │

23:18:02 #958 [Debug] > │         failwith<unit> v109                                                  │

23:18:02 #959 [Debug] > │ method0()                                                                    │

23:18:02 #960 [Debug] > │                                                                              │

23:18:02 #961 [Debug] > │ print_and_return / x: 0                                                      │

23:18:02 #962 [Debug] > │ print_and_return / x: 1                                                      │

23:18:02 #963 [Debug] > │ print_and_return / x: 2                                                      │

23:18:02 #964 [Debug] > │ print_and_return / x: 3                                                      │

23:18:02 #965 [Debug] > │ print_and_return / x: 4                                                      │

23:18:02 #966 [Debug] > │ print_and_return / x: 5                                                      │

23:18:02 #967 [Debug] > │                                                                              │

23:18:02 #968 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:02 #969 [Debug] >

23:18:02 #970 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:02 #971 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:02 #972 [Debug] > │ ## sum                                                                       │

23:18:02 #973 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:02 #974 [Debug] >

23:18:02 #975 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:02 #976 [Debug] > inl sum list =

23:18:02 #977 [Debug] >     list |> listm.fold (+) 0

23:18:03 #978 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0295-9527-9edb542bb390\main.spi

23:18:03 #979 [Debug] >

23:18:03 #980 [Debug] > ╭─[ 171.91ms - stdout ]────────────────────────────────────────────────────────╮

23:18:03 #981 [Debug] > │ ()                                                                           │

23:18:03 #982 [Debug] > │                                                                              │

23:18:03 #983 [Debug] > │                                                                              │

23:18:03 #984 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #985 [Debug] >

23:18:03 #986 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:03 #987 [Debug] > // // test

23:18:03 #988 [Debug] >

23:18:03 #989 [Debug] > listm.init 10i32 id

23:18:03 #990 [Debug] > |> sum

23:18:03 #991 [Debug] > |> _equal 45

23:18:03 #992 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0312-1258-1d8110d7c7a5\main.spi

23:18:03 #993 [Debug] >

23:18:03 #994 [Debug] > ╭─[ 221.15ms - stdout ]────────────────────────────────────────────────────────╮

23:18:03 #995 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:03 #996 [Debug] > │     let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}"          │

23:18:03 #997 [Debug] > │     ()                                                                       │

23:18:03 #998 [Debug] > │ method0()                                                                    │

23:18:03 #999 [Debug] > │                                                                              │

23:18:03 #1000 [Debug] > │                                                                              │

23:18:03 #1001 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #1002 [Debug] >

23:18:03 #1003 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:03 #1004 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:03 #1005 [Debug] > │ ## unzip                                                                     │

23:18:03 #1006 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #1007 [Debug] >

23:18:03 #1008 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:03 #1009 [Debug] > inl unzip list =

23:18:03 #1010 [Debug] >     list

23:18:03 #1011 [Debug] >     |> listm.fold

23:18:03 #1012 [Debug] >         (fun (acc_x, acc_y) (x, y) =>

23:18:03 #1013 [Debug] >             x :: acc_x, y :: acc_y

23:18:03 #1014 [Debug] >         )

23:18:03 #1015 [Debug] >         ([[]], [[]])

23:18:03 #1016 [Debug] >     |> fun x, y =>

23:18:03 #1017 [Debug] >         x |> listm.rev, y |> listm.rev

23:18:03 #1018 [Debug] >

23:18:03 #1019 [Debug] > inl unzip_ list =

23:18:03 #1020 [Debug] >     let rec loop acc_x acc_y = function

23:18:03 #1021 [Debug] >         | Cons ((x, y), xs) => loop (x :: acc_x) (y :: acc_y) xs

23:18:03 #1022 [Debug] >         | Nil => acc_x |> listm.rev, acc_y |> listm.rev

23:18:03 #1023 [Debug] >     loop [[]] [[]] list

23:18:03 #1024 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0335-3541-3a05bbcd363b\main.spi

23:18:03 #1025 [Debug] >

23:18:03 #1026 [Debug] > ╭─[ 130.87ms - stdout ]────────────────────────────────────────────────────────╮

23:18:03 #1027 [Debug] > │ ()                                                                           │

23:18:03 #1028 [Debug] > │                                                                              │

23:18:03 #1029 [Debug] > │                                                                              │

23:18:03 #1030 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #1031 [Debug] >

23:18:03 #1032 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:03 #1033 [Debug] > // // test

23:18:03 #1034 [Debug] >

23:18:03 #1035 [Debug] > listm.init 10i32 id

23:18:03 #1036 [Debug] > |> listm.map (fun x => x, x)

23:18:03 #1037 [Debug] > |> unzip

23:18:03 #1038 [Debug] > |> fun x, y =>

23:18:03 #1039 [Debug] >     x |> sum

23:18:03 #1040 [Debug] >     |> _equal 45

23:18:03 #1041 [Debug] >

23:18:03 #1042 [Debug] >     y |> sum

23:18:03 #1043 [Debug] >     |> _equal 45

23:18:03 #1044 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0348-4892-46a97226d1a1\main.spi

23:18:03 #1045 [Debug] >

23:18:03 #1046 [Debug] > ╭─[ 151.53ms - stdout ]────────────────────────────────────────────────────────╮

23:18:03 #1047 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:03 #1048 [Debug] > │     let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}"          │

23:18:03 #1049 [Debug] > │     let v1 : string = $"_equal / actual: %A{45} / expected: %A{45}"          │

23:18:03 #1050 [Debug] > │     ()                                                                       │

23:18:03 #1051 [Debug] > │ method0()                                                                    │

23:18:03 #1052 [Debug] > │                                                                              │

23:18:03 #1053 [Debug] > │                                                                              │

23:18:03 #1054 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #1055 [Debug] >

23:18:03 #1056 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:03 #1057 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:03 #1058 [Debug] > │ ## try_index_of                                                              │

23:18:03 #1059 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #1060 [Debug] >

23:18:03 #1061 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:03 #1062 [Debug] > inl try_index_of item list =

23:18:03 #1063 [Debug] >     inl rec loop i = function

23:18:03 #1064 [Debug] >         | [[]] => None

23:18:03 #1065 [Debug] >         | x :: xs =>

23:18:03 #1066 [Debug] >             if x = item

23:18:03 #1067 [Debug] >             then Some i

23:18:03 #1068 [Debug] >             else loop (i + 1) xs

23:18:03 #1069 [Debug] >     loop 0 list

23:18:03 #1070 [Debug] >

23:18:03 #1071 [Debug] > inl index_of item =

23:18:03 #1072 [Debug] >     try_index_of item >> optionm.value

23:18:03 #1073 [Debug] >

23:18:03 #1074 [Debug] > inl try_index_of_ item list =

23:18:03 #1075 [Debug] >     let rec loop i = function

23:18:03 #1076 [Debug] >         | [[]] => None

23:18:03 #1077 [Debug] >         | x :: xs =>

23:18:03 #1078 [Debug] >             if x = item

23:18:03 #1079 [Debug] >             then Some i

23:18:03 #1080 [Debug] >             else loop (i + 1) xs

23:18:03 #1081 [Debug] >     loop 0 list

23:18:03 #1082 [Debug] >

23:18:03 #1083 [Debug] > inl index_of_ item =

23:18:03 #1084 [Debug] >     try_index_of_ item >> optionm.value

23:18:03 #1085 [Debug] >

23:18:03 #1086 [Debug] > inl try_index_of__ item list =

23:18:03 #1087 [Debug] >     inl i = mut 0

23:18:03 #1088 [Debug] >     inl list = mut list

23:18:03 #1089 [Debug] >     inl result = mut None

23:18:03 #1090 [Debug] >     let rec loop () =

23:18:03 #1091 [Debug] >         match *list with

23:18:03 #1092 [Debug] >         | [[]] => result <- None

23:18:03 #1093 [Debug] >         | x :: xs =>

23:18:03 #1094 [Debug] >             if x = item

23:18:03 #1095 [Debug] >             then result <- Some *i

23:18:03 #1096 [Debug] >             else

23:18:03 #1097 [Debug] >                 i <- *i + 1

23:18:03 #1098 [Debug] >                 list <- xs

23:18:03 #1099 [Debug] >                 loop ()

23:18:03 #1100 [Debug] >     loop ()

23:18:03 #1101 [Debug] >     *result

23:18:03 #1102 [Debug] >

23:18:03 #1103 [Debug] > inl index_of__ item =

23:18:03 #1104 [Debug] >     try_index_of__ item >> optionm.value

23:18:03 #1105 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0364-6485-68b88acd3402\main.spi

23:18:03 #1106 [Debug] >

23:18:03 #1107 [Debug] > ╭─[ 126.15ms - stdout ]────────────────────────────────────────────────────────╮

23:18:03 #1108 [Debug] > │ ()                                                                           │

23:18:03 #1109 [Debug] > │                                                                              │

23:18:03 #1110 [Debug] > │                                                                              │

23:18:03 #1111 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #1112 [Debug] >

23:18:03 #1113 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:03 #1114 [Debug] > // // test

23:18:03 #1115 [Debug] >

23:18:03 #1116 [Debug] > listm.init 10i32 id

23:18:03 #1117 [Debug] > |> index_of 5i32

23:18:03 #1118 [Debug] > |> _equal 5i32

23:18:03 #1119 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0377-7780-765279ada393\main.spi

23:18:03 #1120 [Debug] >

23:18:03 #1121 [Debug] > ╭─[ 142.81ms - stdout ]────────────────────────────────────────────────────────╮

23:18:03 #1122 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:03 #1123 [Debug] > │     let v0 : string = $"_equal / actual: %A{5} / expected: %A{5}"            │

23:18:03 #1124 [Debug] > │     ()                                                                       │

23:18:03 #1125 [Debug] > │ method0()                                                                    │

23:18:03 #1126 [Debug] > │                                                                              │

23:18:03 #1127 [Debug] > │                                                                              │

23:18:03 #1128 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:03 #1129 [Debug] >

23:18:03 #1130 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:03 #1131 [Debug] > // // test

23:18:03 #1132 [Debug] >

23:18:03 #1133 [Debug] > listm.init 10i32 id

23:18:03 #1134 [Debug] > |> try_index_of 10i32

23:18:03 #1135 [Debug] > |> _equal (None : option i32)

23:18:04 #1136 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0392-9243-98859daefd02\main.spi

23:18:04 #1137 [Debug] >

23:18:04 #1138 [Debug] > ╭─[ 206.27ms - stdout ]────────────────────────────────────────────────────────╮

23:18:04 #1139 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:04 #1140 [Debug] > │     | US0_0                                                                  │

23:18:04 #1141 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:04 #1142 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:04 #1143 [Debug] > │     let v3 : US0 = US0_0                                                     │

23:18:04 #1144 [Debug] > │     let v4 : US0 = US0_0                                                     │

23:18:04 #1145 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:18:04 #1146 [Debug] > │     ()                                                                       │

23:18:04 #1147 [Debug] > │ method0()                                                                    │

23:18:04 #1148 [Debug] > │                                                                              │

23:18:04 #1149 [Debug] > │                                                                              │

23:18:04 #1150 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1151 [Debug] >

23:18:04 #1152 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:04 #1153 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:04 #1154 [Debug] > │ ## try_find                                                                  │

23:18:04 #1155 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1156 [Debug] >

23:18:04 #1157 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:04 #1158 [Debug] > inl try_find fn list =

23:18:04 #1159 [Debug] >     inl rec loop = function

23:18:04 #1160 [Debug] >         | [[]] => None

23:18:04 #1161 [Debug] >         | x :: xs =>

23:18:04 #1162 [Debug] >             if fn x

23:18:04 #1163 [Debug] >             then Some x

23:18:04 #1164 [Debug] >             else loop xs

23:18:04 #1165 [Debug] >     loop list

23:18:04 #1166 [Debug] >

23:18:04 #1167 [Debug] > inl try_find_ fn list =

23:18:04 #1168 [Debug] >     let rec loop = function

23:18:04 #1169 [Debug] >         | [[]] => None

23:18:04 #1170 [Debug] >         | x :: xs =>

23:18:04 #1171 [Debug] >             if fn x

23:18:04 #1172 [Debug] >             then Some x

23:18:04 #1173 [Debug] >             else loop xs

23:18:04 #1174 [Debug] >     loop list

23:18:04 #1175 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0414-1442-1fc915f73733\main.spi

23:18:04 #1176 [Debug] >

23:18:04 #1177 [Debug] > ╭─[ 164.84ms - stdout ]────────────────────────────────────────────────────────╮

23:18:04 #1178 [Debug] > │ ()                                                                           │

23:18:04 #1179 [Debug] > │                                                                              │

23:18:04 #1180 [Debug] > │                                                                              │

23:18:04 #1181 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1182 [Debug] >

23:18:04 #1183 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:04 #1184 [Debug] > // // test

23:18:04 #1185 [Debug] >

23:18:04 #1186 [Debug] > listm.init 10i32 id

23:18:04 #1187 [Debug] > |> try_find ((=) 5i32)

23:18:04 #1188 [Debug] > |> _equal (Some 5i32)

23:18:04 #1189 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0431-3106-3e697a3ff56c\main.spi

23:18:04 #1190 [Debug] >

23:18:04 #1191 [Debug] > ╭─[ 171.16ms - stdout ]────────────────────────────────────────────────────────╮

23:18:04 #1192 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:04 #1193 [Debug] > │     | US0_0                                                                  │

23:18:04 #1194 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:04 #1195 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:04 #1196 [Debug] > │     let v3 : US0 = US0_1(5)                                                  │

23:18:04 #1197 [Debug] > │     let v4 : US0 = US0_1(5)                                                  │

23:18:04 #1198 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:18:04 #1199 [Debug] > │     ()                                                                       │

23:18:04 #1200 [Debug] > │ method0()                                                                    │

23:18:04 #1201 [Debug] > │                                                                              │

23:18:04 #1202 [Debug] > │                                                                              │

23:18:04 #1203 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1204 [Debug] >

23:18:04 #1205 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:04 #1206 [Debug] > inl find x =

23:18:04 #1207 [Debug] >     try_find x >> optionm.value

23:18:04 #1208 [Debug] >

23:18:04 #1209 [Debug] > inl find_ x =

23:18:04 #1210 [Debug] >     try_find_ x >> optionm.value

23:18:04 #1211 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0448-4892-483e59f49b8c\main.spi

23:18:04 #1212 [Debug] >

23:18:04 #1213 [Debug] > ╭─[ 148.01ms - stdout ]────────────────────────────────────────────────────────╮

23:18:04 #1214 [Debug] > │ ()                                                                           │

23:18:04 #1215 [Debug] > │                                                                              │

23:18:04 #1216 [Debug] > │                                                                              │

23:18:04 #1217 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1218 [Debug] >

23:18:04 #1219 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:04 #1220 [Debug] > // // test

23:18:04 #1221 [Debug] >

23:18:04 #1222 [Debug] > listm.init 10i32 id

23:18:04 #1223 [Debug] > |> find ((=) 5i32)

23:18:04 #1224 [Debug] > |> _equal 5i32

23:18:04 #1225 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0464-6400-638eece769cc\main.spi

23:18:04 #1226 [Debug] >

23:18:04 #1227 [Debug] > ╭─[ 125.46ms - stdout ]────────────────────────────────────────────────────────╮

23:18:04 #1228 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:04 #1229 [Debug] > │     let v0 : string = $"_equal / actual: %A{5} / expected: %A{5}"            │

23:18:04 #1230 [Debug] > │     ()                                                                       │

23:18:04 #1231 [Debug] > │ method0()                                                                    │

23:18:04 #1232 [Debug] > │                                                                              │

23:18:04 #1233 [Debug] > │                                                                              │

23:18:04 #1234 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1235 [Debug] >

23:18:04 #1236 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:04 #1237 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:04 #1238 [Debug] > │ ## choose                                                                    │

23:18:04 #1239 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1240 [Debug] >

23:18:04 #1241 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:04 #1242 [Debug] > inl choose f l =

23:18:04 #1243 [Debug] >     (l, [[]])

23:18:04 #1244 [Debug] >     ||> listm.foldBack fun x acc =>

23:18:04 #1245 [Debug] >         match f x with

23:18:04 #1246 [Debug] >         | Some y => y :: acc

23:18:04 #1247 [Debug] >         | None => acc

23:18:04 #1248 [Debug] >

23:18:04 #1249 [Debug] > inl choose_ f l =

23:18:04 #1250 [Debug] >     let rec loop acc = function

23:18:04 #1251 [Debug] >         | [[]] => acc |> listm.rev

23:18:04 #1252 [Debug] >         | x :: xs =>

23:18:04 #1253 [Debug] >             match f x with

23:18:04 #1254 [Debug] >             | Some y => loop (y :: acc) xs

23:18:04 #1255 [Debug] >             | None => loop acc xs

23:18:04 #1256 [Debug] >     loop [[]] l

23:18:04 #1257 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0477-7729-72f36bbe6a03\main.spi

23:18:04 #1258 [Debug] >

23:18:04 #1259 [Debug] > ╭─[ 163.66ms - stdout ]────────────────────────────────────────────────────────╮

23:18:04 #1260 [Debug] > │ ()                                                                           │

23:18:04 #1261 [Debug] > │                                                                              │

23:18:04 #1262 [Debug] > │                                                                              │

23:18:04 #1263 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:04 #1264 [Debug] >

23:18:04 #1265 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:04 #1266 [Debug] > // // test

23:18:04 #1267 [Debug] >

23:18:04 #1268 [Debug] > listm.init 10i32 id

23:18:04 #1269 [Debug] > |> choose (fun x => if x % 2 = 0 then Some x else None)

23:18:04 #1270 [Debug] > |> _equal [[0; 2; 4; 6; 8]]

23:18:05 #1271 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0493-9389-9418d7a7ab90\main.spi

23:18:05 #1272 [Debug] >

23:18:05 #1273 [Debug] > ╭─[ 229.86ms - stdout ]────────────────────────────────────────────────────────╮

23:18:05 #1274 [Debug] > │ type UH0 =                                                                   │

23:18:05 #1275 [Debug] > │     | UH0_0 of int32 * UH0                                                   │

23:18:05 #1276 [Debug] > │     | UH0_1                                                                  │

23:18:05 #1277 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:05 #1278 [Debug] > │     let v33 : UH0 = UH0_1                                                    │

23:18:05 #1279 [Debug] > │     let v34 : UH0 = UH0_0(8, v33)                                            │

23:18:05 #1280 [Debug] > │     let v35 : UH0 = UH0_0(6, v34)                                            │

23:18:05 #1281 [Debug] > │     let v36 : UH0 = UH0_0(4, v35)                                            │

23:18:05 #1282 [Debug] > │     let v37 : UH0 = UH0_0(2, v36)                                            │

23:18:05 #1283 [Debug] > │     let v38 : UH0 = UH0_0(0, v37)                                            │

23:18:05 #1284 [Debug] > │     let v39 : UH0 = UH0_1                                                    │

23:18:05 #1285 [Debug] > │     let v40 : UH0 = UH0_0(8, v39)                                            │

23:18:05 #1286 [Debug] > │     let v41 : UH0 = UH0_0(6, v40)                                            │

23:18:05 #1287 [Debug] > │     let v42 : UH0 = UH0_0(4, v41)                                            │

23:18:05 #1288 [Debug] > │     let v43 : UH0 = UH0_0(2, v42)                                            │

23:18:05 #1289 [Debug] > │     let v44 : UH0 = UH0_0(0, v43)                                            │

23:18:05 #1290 [Debug] > │     let v45 : string = $"_equal / actual: %A{v38} / expected: %A{v44}"       │

23:18:05 #1291 [Debug] > │     ()                                                                       │

23:18:05 #1292 [Debug] > │ method0()                                                                    │

23:18:05 #1293 [Debug] > │                                                                              │

23:18:05 #1294 [Debug] > │                                                                              │

23:18:05 #1295 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1296 [Debug] >

23:18:05 #1297 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:05 #1298 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:05 #1299 [Debug] > │ ## zip_with                                                                  │

23:18:05 #1300 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1301 [Debug] >

23:18:05 #1302 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:05 #1303 [Debug] > inl zip_with fn xs ys =

23:18:05 #1304 [Debug] >     inl rec loop acc xs ys =

23:18:05 #1305 [Debug] >         match xs, ys with

23:18:05 #1306 [Debug] >         | Cons (x, xs), Cons (y, ys) =>

23:18:05 #1307 [Debug] >             loop (fn x y :: acc) xs ys

23:18:05 #1308 [Debug] >         | _ => listm.rev acc

23:18:05 #1309 [Debug] >     loop [[]] xs ys

23:18:05 #1310 [Debug] >

23:18:05 #1311 [Debug] > inl zip_with_ fn xs ys =

23:18:05 #1312 [Debug] >     let rec loop acc xs ys =

23:18:05 #1313 [Debug] >         match xs, ys with

23:18:05 #1314 [Debug] >         | Cons (x, xs), Cons (y, ys) =>

23:18:05 #1315 [Debug] >             loop (fn x y :: acc) xs ys

23:18:05 #1316 [Debug] >         | _ => listm.rev acc

23:18:05 #1317 [Debug] >     loop [[]] xs ys

23:18:05 #1318 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0518-1831-1a28e87c4597\main.spi

23:18:05 #1319 [Debug] >

23:18:05 #1320 [Debug] > ╭─[ 165.56ms - stdout ]────────────────────────────────────────────────────────╮

23:18:05 #1321 [Debug] > │ ()                                                                           │

23:18:05 #1322 [Debug] > │                                                                              │

23:18:05 #1323 [Debug] > │                                                                              │

23:18:05 #1324 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1325 [Debug] >

23:18:05 #1326 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:05 #1327 [Debug] > // // test

23:18:05 #1328 [Debug] >

23:18:05 #1329 [Debug] > ([[1i32; 2; 3]], [[4; 5; 6]])

23:18:05 #1330 [Debug] > ||> zip_with (+)

23:18:05 #1331 [Debug] > |> _equal [[5; 7; 9]]

23:18:05 #1332 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0535-3514-315ad23b6399\main.spi

23:18:05 #1333 [Debug] >

23:18:05 #1334 [Debug] > ╭─[ 202.21ms - stdout ]────────────────────────────────────────────────────────╮

23:18:05 #1335 [Debug] > │ type UH0 =                                                                   │

23:18:05 #1336 [Debug] > │     | UH0_0 of int32 * UH0                                                   │

23:18:05 #1337 [Debug] > │     | UH0_1                                                                  │

23:18:05 #1338 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:05 #1339 [Debug] > │     let v18 : UH0 = UH0_1                                                    │

23:18:05 #1340 [Debug] > │     let v19 : UH0 = UH0_0(9, v18)                                            │

23:18:05 #1341 [Debug] > │     let v20 : UH0 = UH0_0(7, v19)                                            │

23:18:05 #1342 [Debug] > │     let v21 : UH0 = UH0_0(5, v20)                                            │

23:18:05 #1343 [Debug] > │     let v22 : UH0 = UH0_1                                                    │

23:18:05 #1344 [Debug] > │     let v23 : UH0 = UH0_0(9, v22)                                            │

23:18:05 #1345 [Debug] > │     let v24 : UH0 = UH0_0(7, v23)                                            │

23:18:05 #1346 [Debug] > │     let v25 : UH0 = UH0_0(5, v24)                                            │

23:18:05 #1347 [Debug] > │     let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}"       │

23:18:05 #1348 [Debug] > │     ()                                                                       │

23:18:05 #1349 [Debug] > │ method0()                                                                    │

23:18:05 #1350 [Debug] > │                                                                              │

23:18:05 #1351 [Debug] > │                                                                              │

23:18:05 #1352 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1353 [Debug] >

23:18:05 #1354 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:05 #1355 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:05 #1356 [Debug] > │ ## zip                                                                       │

23:18:05 #1357 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1358 [Debug] >

23:18:05 #1359 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:05 #1360 [Debug] > inl zip xs ys =

23:18:05 #1361 [Debug] >     zip_with pair xs ys

23:18:05 #1362 [Debug] >

23:18:05 #1363 [Debug] > inl zip_ xs ys =

23:18:05 #1364 [Debug] >     zip_with_ pair xs ys

23:18:05 #1365 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0556-5661-55eb06cd2817\main.spi

23:18:05 #1366 [Debug] >

23:18:05 #1367 [Debug] > ╭─[ 144.07ms - stdout ]────────────────────────────────────────────────────────╮

23:18:05 #1368 [Debug] > │ ()                                                                           │

23:18:05 #1369 [Debug] > │                                                                              │

23:18:05 #1370 [Debug] > │                                                                              │

23:18:05 #1371 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1372 [Debug] >

23:18:05 #1373 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:05 #1374 [Debug] > // // test

23:18:05 #1375 [Debug] >

23:18:05 #1376 [Debug] > ([[1i32; 2; 3]], [[4i32; 5; 6]])

23:18:05 #1377 [Debug] > ||> zip

23:18:05 #1378 [Debug] > |> _equal [[1, 4; 2, 5; 3, 6]]

23:18:05 #1379 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0571-7144-7b96a04a83b8\main.spi

23:18:05 #1380 [Debug] >

23:18:05 #1381 [Debug] > ╭─[ 232.13ms - stdout ]────────────────────────────────────────────────────────╮

23:18:05 #1382 [Debug] > │ type UH0 =                                                                   │

23:18:05 #1383 [Debug] > │     | UH0_0 of int32 * int32 * UH0                                           │

23:18:05 #1384 [Debug] > │     | UH0_1                                                                  │

23:18:05 #1385 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:05 #1386 [Debug] > │     let v18 : UH0 = UH0_1                                                    │

23:18:05 #1387 [Debug] > │     let v19 : UH0 = UH0_0(3, 6, v18)                                         │

23:18:05 #1388 [Debug] > │     let v20 : UH0 = UH0_0(2, 5, v19)                                         │

23:18:05 #1389 [Debug] > │     let v21 : UH0 = UH0_0(1, 4, v20)                                         │

23:18:05 #1390 [Debug] > │     let v22 : UH0 = UH0_1                                                    │

23:18:05 #1391 [Debug] > │     let v23 : UH0 = UH0_0(3, 6, v22)                                         │

23:18:05 #1392 [Debug] > │     let v24 : UH0 = UH0_0(2, 5, v23)                                         │

23:18:05 #1393 [Debug] > │     let v25 : UH0 = UH0_0(1, 4, v24)                                         │

23:18:05 #1394 [Debug] > │     let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}"       │

23:18:05 #1395 [Debug] > │     ()                                                                       │

23:18:05 #1396 [Debug] > │ method0()                                                                    │

23:18:05 #1397 [Debug] > │                                                                              │

23:18:05 #1398 [Debug] > │                                                                              │

23:18:05 #1399 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1400 [Debug] >

23:18:05 #1401 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:05 #1402 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:05 #1403 [Debug] > │ ## indexed                                                                   │

23:18:05 #1404 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:05 #1405 [Debug] >

23:18:05 #1406 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:05 #1407 [Debug] > inl indexed list =

23:18:05 #1408 [Debug] >     list

23:18:05 #1409 [Debug] >     |> listm.fold

23:18:05 #1410 [Debug] >         (fun (acc, i) x =>

23:18:05 #1411 [Debug] >             (i, x) :: acc, i + 1

23:18:05 #1412 [Debug] >         )

23:18:05 #1413 [Debug] >         ([[]], 0)

23:18:05 #1414 [Debug] >     |> fst

23:18:05 #1415 [Debug] >     |> listm.rev

23:18:06 #1416 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0596-9668-96c7da4d76c1\main.spi

23:18:06 #1417 [Debug] >

23:18:06 #1418 [Debug] > ╭─[ 155.48ms - stdout ]────────────────────────────────────────────────────────╮

23:18:06 #1419 [Debug] > │ ()                                                                           │

23:18:06 #1420 [Debug] > │                                                                              │

23:18:06 #1421 [Debug] > │                                                                              │

23:18:06 #1422 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:06 #1423 [Debug] >

23:18:06 #1424 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:06 #1425 [Debug] > // // test

23:18:06 #1426 [Debug] >

23:18:06 #1427 [Debug] > listm.init 5i32 ((*) 2)

23:18:06 #1428 [Debug] > |> indexed

23:18:06 #1429 [Debug] > |> _equal [[0i32, 0; 1, 2; 2, 4; 3, 6; 4, 8]]

23:18:06 #1430 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0612-1232-1acea413427e\main.spi

23:18:06 #1431 [Debug] >

23:18:06 #1432 [Debug] > ╭─[ 260.72ms - stdout ]────────────────────────────────────────────────────────╮

23:18:06 #1433 [Debug] > │ type UH0 =                                                                   │

23:18:06 #1434 [Debug] > │     | UH0_0 of int32 * int32 * UH0                                           │

23:18:06 #1435 [Debug] > │     | UH0_1                                                                  │

23:18:06 #1436 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:06 #1437 [Debug] > │     let v33 : UH0 = UH0_1                                                    │

23:18:06 #1438 [Debug] > │     let v34 : UH0 = UH0_0(4, 8, v33)                                         │

23:18:06 #1439 [Debug] > │     let v35 : UH0 = UH0_0(3, 6, v34)                                         │

23:18:06 #1440 [Debug] > │     let v36 : UH0 = UH0_0(2, 4, v35)                                         │

23:18:06 #1441 [Debug] > │     let v37 : UH0 = UH0_0(1, 2, v36)                                         │

23:18:06 #1442 [Debug] > │     let v38 : UH0 = UH0_0(0, 0, v37)                                         │

23:18:06 #1443 [Debug] > │     let v39 : UH0 = UH0_1                                                    │

23:18:06 #1444 [Debug] > │     let v40 : UH0 = UH0_0(4, 8, v39)                                         │

23:18:06 #1445 [Debug] > │     let v41 : UH0 = UH0_0(3, 6, v40)                                         │

23:18:06 #1446 [Debug] > │     let v42 : UH0 = UH0_0(2, 4, v41)                                         │

23:18:06 #1447 [Debug] > │     let v43 : UH0 = UH0_0(1, 2, v42)                                         │

23:18:06 #1448 [Debug] > │     let v44 : UH0 = UH0_0(0, 0, v43)                                         │

23:18:06 #1449 [Debug] > │     let v45 : string = $"_equal / actual: %A{v38} / expected: %A{v44}"       │

23:18:06 #1450 [Debug] > │     ()                                                                       │

23:18:06 #1451 [Debug] > │ method0()                                                                    │

23:18:06 #1452 [Debug] > │                                                                              │

23:18:06 #1453 [Debug] > │                                                                              │

23:18:06 #1454 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:08 #1455 [Debug] > [NbConvertApp] Converting notebook listm'.dib.ipynb to html

23:18:08 #1456 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:18:08 #1457 [Debug] >   validate(nb)

23:18:09 #1458 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:18:09 #1459 [Debug] >   return _pygments_highlight(

23:18:09 #1460 [Debug] > [NbConvertApp] Writing 385588 bytes to listm'.dib.html

23:18:10 #1461 [Debug] executeAsync / exitCode: 0 / proc.Id: 72128 / output.Length: 84177

23:18:10 #1462 [Debug] main / executeCommand / exitCode: 0

23:18:11 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:18:11 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:18:11 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:18:11 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:18:12 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:18:12 #6 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:18:12 #7 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:18:12 #8 [Debug] > Server bound to: http://localhost:13805

23:18:12 #9 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 seq.dib""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:18:15 #10 [Debug] >

23:18:15 #11 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:15 #12 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:15 #13 [Debug] > │ # seq                                                                        │

23:18:15 #14 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:15 #15 [Debug] >

23:18:15 #16 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:15 #17 [Debug] > // // test

23:18:15 #18 [Debug] >

23:18:15 #19 [Debug] > open testing

23:18:19 #20 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-1858-5875-5570b85d1341\main.spi

23:18:21 #21 [Debug] >

23:18:21 #22 [Debug] > ╭─[ 5.79s - stdout ]───────────────────────────────────────────────────────────╮

23:18:21 #23 [Debug] > │ ()                                                                           │

23:18:21 #24 [Debug] > │                                                                              │

23:18:21 #25 [Debug] > │                                                                              │

23:18:21 #26 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:21 #27 [Debug] >

23:18:21 #28 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:21 #29 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:21 #30 [Debug] > │ ## seq                                                                       │

23:18:21 #31 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:21 #32 [Debug] >

23:18:21 #33 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:21 #34 [Debug] > type seq dim el = dim -> option el

23:18:21 #35 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2172-7220-78c753bb0455\main.spi

23:18:21 #36 [Debug] >

23:18:21 #37 [Debug] > ╭─[ 193.95ms - stdout ]────────────────────────────────────────────────────────╮

23:18:21 #38 [Debug] > │ ()                                                                           │

23:18:21 #39 [Debug] > │                                                                              │

23:18:21 #40 [Debug] > │                                                                              │

23:18:21 #41 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:21 #42 [Debug] >

23:18:21 #43 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:21 #44 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:21 #45 [Debug] > │ ## item                                                                      │

23:18:21 #46 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:21 #47 [Debug] >

23:18:21 #48 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:21 #49 [Debug] > inl item n seq =

23:18:21 #50 [Debug] >     seq n

23:18:22 #51 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2190-9062-9480afa72268\main.spi

23:18:22 #52 [Debug] >

23:18:22 #53 [Debug] > ╭─[ 199.51ms - stdout ]────────────────────────────────────────────────────────╮

23:18:22 #54 [Debug] > │ ()                                                                           │

23:18:22 #55 [Debug] > │                                                                              │

23:18:22 #56 [Debug] > │                                                                              │

23:18:22 #57 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:22 #58 [Debug] >

23:18:22 #59 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:22 #60 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:22 #61 [Debug] > │ ## from_list                                                                 │

23:18:22 #62 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:22 #63 [Debug] >

23:18:22 #64 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:22 #65 [Debug] > inl from_list list =

23:18:22 #66 [Debug] >     fun n =>

23:18:22 #67 [Debug] >         list |> listm'.try_item n

23:18:22 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2210-1085-1ec1aad68a41\main.spi

23:18:22 #69 [Debug] >

23:18:22 #70 [Debug] > ╭─[ 136.41ms - stdout ]────────────────────────────────────────────────────────╮

23:18:22 #71 [Debug] > │ ()                                                                           │

23:18:22 #72 [Debug] > │                                                                              │

23:18:22 #73 [Debug] > │                                                                              │

23:18:22 #74 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:22 #75 [Debug] >

23:18:22 #76 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:22 #77 [Debug] > // // test

23:18:22 #78 [Debug] >

23:18:22 #79 [Debug] > listm.init 10i32 print_and_return

23:18:22 #80 [Debug] > |> from_list

23:18:22 #81 [Debug] > |> item 5i32

23:18:22 #82 [Debug] > |> _equal (Some 5i32)

23:18:22 #83 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2224-2492-2ad4155670b8\main.spi

23:18:23 #84 [Debug] >

23:18:23 #85 [Debug] > ╭─[ 1.59s - stdout ]───────────────────────────────────────────────────────────╮

23:18:23 #86 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:23 #87 [Debug] > │     | US0_0                                                                  │

23:18:23 #88 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:23 #89 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:23 #90 [Debug] > │     printfn $"print_and_return / x: {0}"                                     │

23:18:23 #91 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:23 #92 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:23 #93 [Debug] > │     printfn $"print_and_return / x: {3}"                                     │

23:18:23 #94 [Debug] > │     printfn $"print_and_return / x: {4}"                                     │

23:18:23 #95 [Debug] > │     printfn $"print_and_return / x: {5}"                                     │

23:18:23 #96 [Debug] > │     printfn $"print_and_return / x: {6}"                                     │

23:18:23 #97 [Debug] > │     printfn $"print_and_return / x: {7}"                                     │

23:18:23 #98 [Debug] > │     printfn $"print_and_return / x: {8}"                                     │

23:18:23 #99 [Debug] > │     printfn $"print_and_return / x: {9}"                                     │

23:18:23 #100 [Debug] > │     let v3 : US0 = US0_1(5)                                                  │

23:18:23 #101 [Debug] > │     let v4 : US0 = US0_1(5)                                                  │

23:18:23 #102 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:18:23 #103 [Debug] > │     ()                                                                       │

23:18:23 #104 [Debug] > │ method0()                                                                    │

23:18:23 #105 [Debug] > │                                                                              │

23:18:23 #106 [Debug] > │ print_and_return / x: 0                                                      │

23:18:23 #107 [Debug] > │ print_and_return / x: 1                                                      │

23:18:23 #108 [Debug] > │ print_and_return / x: 2                                                      │

23:18:23 #109 [Debug] > │ print_and_return / x: 3                                                      │

23:18:23 #110 [Debug] > │ print_and_return / x: 4                                                      │

23:18:23 #111 [Debug] > │ print_and_return / x: 5                                                      │

23:18:23 #112 [Debug] > │ print_and_return / x: 6                                                      │

23:18:23 #113 [Debug] > │ print_and_return / x: 7                                                      │

23:18:23 #114 [Debug] > │ print_and_return / x: 8                                                      │

23:18:23 #115 [Debug] > │ print_and_return / x: 9                                                      │

23:18:23 #116 [Debug] > │                                                                              │

23:18:23 #117 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:23 #118 [Debug] >

23:18:23 #119 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:23 #120 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:23 #121 [Debug] > │ ## indexed                                                                   │

23:18:23 #122 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:23 #123 [Debug] >

23:18:23 #124 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:23 #125 [Debug] > inl indexed seq =

23:18:23 #126 [Debug] >     fun n =>

23:18:23 #127 [Debug] >         n, seq n

23:18:23 #128 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2386-8644-8b7bbbcf4c26\main.spi

23:18:24 #129 [Debug] >

23:18:24 #130 [Debug] > ╭─[ 165.52ms - stdout ]────────────────────────────────────────────────────────╮

23:18:24 #131 [Debug] > │ ()                                                                           │

23:18:24 #132 [Debug] > │                                                                              │

23:18:24 #133 [Debug] > │                                                                              │

23:18:24 #134 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #135 [Debug] >

23:18:24 #136 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:24 #137 [Debug] > // // test

23:18:24 #138 [Debug] >

23:18:24 #139 [Debug] > listm.init 10i32 ((*) 2)

23:18:24 #140 [Debug] > |> from_list

23:18:24 #141 [Debug] > |> indexed

23:18:24 #142 [Debug] > |> item 5i32

23:18:24 #143 [Debug] > |> _equal (5i32, Some 10i32)

23:18:24 #144 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2402-0294-077b1987d178\main.spi

23:18:24 #145 [Debug] >

23:18:24 #146 [Debug] > ╭─[ 171.02ms - stdout ]────────────────────────────────────────────────────────╮

23:18:24 #147 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:24 #148 [Debug] > │     | US0_0                                                                  │

23:18:24 #149 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:24 #150 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:24 #151 [Debug] > │     let v3 : US0 = US0_1(10)                                                 │

23:18:24 #152 [Debug] > │     let v4 : US0 = US0_1(10)                                                 │

23:18:24 #153 [Debug] > │     let v5 : string = $"_equal / actual: %A{struct (5, v3)} / expected:      │

23:18:24 #154 [Debug] > │ %A{struct (5, v4)}"                                                          │

23:18:24 #155 [Debug] > │     ()                                                                       │

23:18:24 #156 [Debug] > │ method0()                                                                    │

23:18:24 #157 [Debug] > │                                                                              │

23:18:24 #158 [Debug] > │                                                                              │

23:18:24 #159 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #160 [Debug] >

23:18:24 #161 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:24 #162 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:24 #163 [Debug] > │ ## zip                                                                       │

23:18:24 #164 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #165 [Debug] >

23:18:24 #166 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:24 #167 [Debug] > inl zip n seq1 seq2 =

23:18:24 #168 [Debug] >     seq1 n, seq2 n

23:18:24 #169 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2421-2106-2c790ca05b0c\main.spi

23:18:24 #170 [Debug] >

23:18:24 #171 [Debug] > ╭─[ 134.32ms - stdout ]────────────────────────────────────────────────────────╮

23:18:24 #172 [Debug] > │ ()                                                                           │

23:18:24 #173 [Debug] > │                                                                              │

23:18:24 #174 [Debug] > │                                                                              │

23:18:24 #175 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #176 [Debug] >

23:18:24 #177 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:24 #178 [Debug] > // // test

23:18:24 #179 [Debug] >

23:18:24 #180 [Debug] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))

23:18:24 #181 [Debug] > ||> zip 5i32

23:18:24 #182 [Debug] > |> _equal (Some 5, Some 10)

23:18:24 #183 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2434-3494-3256e49ff9dc\main.spi

23:18:24 #184 [Debug] >

23:18:24 #185 [Debug] > ╭─[ 169.55ms - stdout ]────────────────────────────────────────────────────────╮

23:18:24 #186 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:24 #187 [Debug] > │     | US0_0                                                                  │

23:18:24 #188 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:24 #189 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:24 #190 [Debug] > │     let v6 : US0 = US0_1(5)                                                  │

23:18:24 #191 [Debug] > │     let v7 : US0 = US0_1(10)                                                 │

23:18:24 #192 [Debug] > │     let v8 : US0 = US0_1(5)                                                  │

23:18:24 #193 [Debug] > │     let v9 : US0 = US0_1(10)                                                 │

23:18:24 #194 [Debug] > │     let v10 : string = $"_equal / actual: %A{struct (v6, v7)} / expected:    │

23:18:24 #195 [Debug] > │ %A{struct (v8, v9)}"                                                         │

23:18:24 #196 [Debug] > │     ()                                                                       │

23:18:24 #197 [Debug] > │ method0()                                                                    │

23:18:24 #198 [Debug] > │                                                                              │

23:18:24 #199 [Debug] > │                                                                              │

23:18:24 #200 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #201 [Debug] >

23:18:24 #202 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:24 #203 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:24 #204 [Debug] > │ ## zip_with                                                                  │

23:18:24 #205 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #206 [Debug] >

23:18:24 #207 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:24 #208 [Debug] > inl zip_with fn seq1 seq2 =

23:18:24 #209 [Debug] >     fun n =>

23:18:24 #210 [Debug] >         fn (seq1 n) (seq2 n)

23:18:24 #211 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2453-5301-5402efbdd948\main.spi

23:18:24 #212 [Debug] >

23:18:24 #213 [Debug] > ╭─[ 155.52ms - stdout ]────────────────────────────────────────────────────────╮

23:18:24 #214 [Debug] > │ ()                                                                           │

23:18:24 #215 [Debug] > │                                                                              │

23:18:24 #216 [Debug] > │                                                                              │

23:18:24 #217 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #218 [Debug] >

23:18:24 #219 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:24 #220 [Debug] > // // test

23:18:24 #221 [Debug] >

23:18:24 #222 [Debug] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))

23:18:24 #223 [Debug] > ||> zip_with (optionm'.choose (+))

23:18:24 #224 [Debug] > |> item 2i32

23:18:24 #225 [Debug] > |> _equal (Some 6)

23:18:24 #226 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2468-6873-67ec205c90ce\main.spi

23:18:24 #227 [Debug] >

23:18:24 #228 [Debug] > ╭─[ 169.48ms - stdout ]────────────────────────────────────────────────────────╮

23:18:24 #229 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:24 #230 [Debug] > │     | US0_0                                                                  │

23:18:24 #231 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:24 #232 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:24 #233 [Debug] > │     let v3 : US0 = US0_1(6)                                                  │

23:18:24 #234 [Debug] > │     let v4 : US0 = US0_1(6)                                                  │

23:18:24 #235 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:18:24 #236 [Debug] > │     ()                                                                       │

23:18:24 #237 [Debug] > │ method0()                                                                    │

23:18:24 #238 [Debug] > │                                                                              │

23:18:24 #239 [Debug] > │                                                                              │

23:18:24 #240 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #241 [Debug] >

23:18:24 #242 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:24 #243 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:24 #244 [Debug] > │ ## fold                                                                      │

23:18:24 #245 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:24 #246 [Debug] >

23:18:24 #247 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:24 #248 [Debug] > inl fold fn init seq =

23:18:24 #249 [Debug] >     inl rec loop acc n =

23:18:24 #250 [Debug] >         match seq n with

23:18:24 #251 [Debug] >         | Some x => loop (fn acc x) (n + 1)

23:18:24 #252 [Debug] >         | None => acc

23:18:24 #253 [Debug] >     loop init 0

23:18:24 #254 [Debug] >

23:18:24 #255 [Debug] > inl fold_ fn init seq =

23:18:24 #256 [Debug] >     let rec loop acc n =

23:18:24 #257 [Debug] >         match seq n with

23:18:24 #258 [Debug] >         | Some x => loop (fn acc x) (n + 1)

23:18:24 #259 [Debug] >         | None => acc

23:18:24 #260 [Debug] >     loop init 0

23:18:24 #261 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2486-8681-80ccfc781009\main.spi

23:18:25 #262 [Debug] >

23:18:25 #263 [Debug] > ╭─[ 150.25ms - stdout ]────────────────────────────────────────────────────────╮

23:18:25 #264 [Debug] > │ ()                                                                           │

23:18:25 #265 [Debug] > │                                                                              │

23:18:25 #266 [Debug] > │                                                                              │

23:18:25 #267 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #268 [Debug] >

23:18:25 #269 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:25 #270 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:25 #271 [Debug] > │ ## sum                                                                       │

23:18:25 #272 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #273 [Debug] >

23:18:25 #274 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:25 #275 [Debug] > inl sum seq =

23:18:25 #276 [Debug] >     seq |> fold (+) 0

23:18:25 #277 [Debug] >

23:18:25 #278 [Debug] > inl sum_ seq =

23:18:25 #279 [Debug] >     seq |> fold_ (+) 0

23:18:25 #280 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2502-0272-0070a2907c3f\main.spi

23:18:25 #281 [Debug] >

23:18:25 #282 [Debug] > ╭─[ 131.91ms - stdout ]────────────────────────────────────────────────────────╮

23:18:25 #283 [Debug] > │ ()                                                                           │

23:18:25 #284 [Debug] > │                                                                              │

23:18:25 #285 [Debug] > │                                                                              │

23:18:25 #286 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #287 [Debug] >

23:18:25 #288 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:25 #289 [Debug] > // // test

23:18:25 #290 [Debug] >

23:18:25 #291 [Debug] > listm.init 10i32 id

23:18:25 #292 [Debug] > |> from_list

23:18:25 #293 [Debug] > |> fun f (n : i32) => f n

23:18:25 #294 [Debug] > |> sum

23:18:25 #295 [Debug] > |> _equal 45

23:18:25 #296 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2516-1600-18643d3ba521\main.spi

23:18:25 #297 [Debug] >

23:18:25 #298 [Debug] > ╭─[ 143.43ms - stdout ]────────────────────────────────────────────────────────╮

23:18:25 #299 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:25 #300 [Debug] > │     let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}"          │

23:18:25 #301 [Debug] > │     ()                                                                       │

23:18:25 #302 [Debug] > │ method0()                                                                    │

23:18:25 #303 [Debug] > │                                                                              │

23:18:25 #304 [Debug] > │                                                                              │

23:18:25 #305 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #306 [Debug] >

23:18:25 #307 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:25 #308 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:25 #309 [Debug] > │ ## to_list                                                                   │

23:18:25 #310 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #311 [Debug] >

23:18:25 #312 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:25 #313 [Debug] > inl to_list seq =

23:18:25 #314 [Debug] >     seq

23:18:25 #315 [Debug] >     |> fold (fun acc x => x :: acc) [[]]

23:18:25 #316 [Debug] >     |> listm.rev

23:18:25 #317 [Debug] >

23:18:25 #318 [Debug] > inl to_list_ seq =

23:18:25 #319 [Debug] >     seq

23:18:25 #320 [Debug] >     |> fold_ (fun acc x => x :: acc) [[]]

23:18:25 #321 [Debug] >     |> listm.rev

23:18:25 #322 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2531-3125-3f0eef8511f9\main.spi

23:18:25 #323 [Debug] >

23:18:25 #324 [Debug] > ╭─[ 130.74ms - stdout ]────────────────────────────────────────────────────────╮

23:18:25 #325 [Debug] > │ ()                                                                           │

23:18:25 #326 [Debug] > │                                                                              │

23:18:25 #327 [Debug] > │                                                                              │

23:18:25 #328 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #329 [Debug] >

23:18:25 #330 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:25 #331 [Debug] > // // test

23:18:25 #332 [Debug] >

23:18:25 #333 [Debug] > listm.init 10i32 id

23:18:25 #334 [Debug] > |> from_list

23:18:25 #335 [Debug] > |> fun f (n : i32) => f n

23:18:25 #336 [Debug] > |> to_list

23:18:25 #337 [Debug] > |> _equal (listm.init 10i32 id)

23:18:25 #338 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2544-4454-4653b83d353b\main.spi

23:18:25 #339 [Debug] >

23:18:25 #340 [Debug] > ╭─[ 218.03ms - stdout ]────────────────────────────────────────────────────────╮

23:18:25 #341 [Debug] > │ type UH0 =                                                                   │

23:18:25 #342 [Debug] > │     | UH0_0 of int32 * UH0                                                   │

23:18:25 #343 [Debug] > │     | UH0_1                                                                  │

23:18:25 #344 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:25 #345 [Debug] > │     let v88 : UH0 = UH0_1                                                    │

23:18:25 #346 [Debug] > │     let v89 : UH0 = UH0_0(9, v88)                                            │

23:18:25 #347 [Debug] > │     let v90 : UH0 = UH0_0(8, v89)                                            │

23:18:25 #348 [Debug] > │     let v91 : UH0 = UH0_0(7, v90)                                            │

23:18:25 #349 [Debug] > │     let v92 : UH0 = UH0_0(6, v91)                                            │

23:18:25 #350 [Debug] > │     let v93 : UH0 = UH0_0(5, v92)                                            │

23:18:25 #351 [Debug] > │     let v94 : UH0 = UH0_0(4, v93)                                            │

23:18:25 #352 [Debug] > │     let v95 : UH0 = UH0_0(3, v94)                                            │

23:18:25 #353 [Debug] > │     let v96 : UH0 = UH0_0(2, v95)                                            │

23:18:25 #354 [Debug] > │     let v97 : UH0 = UH0_0(1, v96)                                            │

23:18:25 #355 [Debug] > │     let v98 : UH0 = UH0_0(0, v97)                                            │

23:18:25 #356 [Debug] > │     let v99 : UH0 = UH0_1                                                    │

23:18:25 #357 [Debug] > │     let v100 : UH0 = UH0_0(9, v99)                                           │

23:18:25 #358 [Debug] > │     let v101 : UH0 = UH0_0(8, v100)                                          │

23:18:25 #359 [Debug] > │     let v102 : UH0 = UH0_0(7, v101)                                          │

23:18:25 #360 [Debug] > │     let v103 : UH0 = UH0_0(6, v102)                                          │

23:18:25 #361 [Debug] > │     let v104 : UH0 = UH0_0(5, v103)                                          │

23:18:25 #362 [Debug] > │     let v105 : UH0 = UH0_0(4, v104)                                          │

23:18:25 #363 [Debug] > │     let v106 : UH0 = UH0_0(3, v105)                                          │

23:18:25 #364 [Debug] > │     let v107 : UH0 = UH0_0(2, v106)                                          │

23:18:25 #365 [Debug] > │     let v108 : UH0 = UH0_0(1, v107)                                          │

23:18:25 #366 [Debug] > │     let v109 : UH0 = UH0_0(0, v108)                                          │

23:18:25 #367 [Debug] > │     let v110 : string = $"_equal / actual: %A{v98} / expected: %A{v109}"     │

23:18:25 #368 [Debug] > │     ()                                                                       │

23:18:25 #369 [Debug] > │ method0()                                                                    │

23:18:25 #370 [Debug] > │                                                                              │

23:18:25 #371 [Debug] > │                                                                              │

23:18:25 #372 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #373 [Debug] >

23:18:25 #374 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:25 #375 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:25 #376 [Debug] > │ ## take_while                                                                │

23:18:25 #377 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #378 [Debug] >

23:18:25 #379 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:25 #380 [Debug] > inl take_while cond seq =

23:18:25 #381 [Debug] >     inl rec loop acc i =

23:18:25 #382 [Debug] >         match seq i with

23:18:25 #383 [Debug] >         | Some st when cond st i => loop (st :: acc) (i + 1)

23:18:25 #384 [Debug] >         | _ => acc |> listm.rev

23:18:25 #385 [Debug] >     loop [[]] 0

23:18:25 #386 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2568-6824-6fe857dca744\main.spi

23:18:25 #387 [Debug] >

23:18:25 #388 [Debug] > ╭─[ 128.22ms - stdout ]────────────────────────────────────────────────────────╮

23:18:25 #389 [Debug] > │ ()                                                                           │

23:18:25 #390 [Debug] > │                                                                              │

23:18:25 #391 [Debug] > │                                                                              │

23:18:25 #392 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #393 [Debug] >

23:18:25 #394 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:25 #395 [Debug] > // // test

23:18:25 #396 [Debug] >

23:18:25 #397 [Debug] > listm.init 10i32 id

23:18:25 #398 [Debug] > |> from_list

23:18:25 #399 [Debug] > |> take_while (fun n (_ : i32) => n < 5)

23:18:25 #400 [Debug] > |> listm'.sum

23:18:25 #401 [Debug] > |> _equal 10

23:18:25 #402 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2581-8146-83bb61d9e9ea\main.spi

23:18:25 #403 [Debug] >

23:18:25 #404 [Debug] > ╭─[ 150.67ms - stdout ]────────────────────────────────────────────────────────╮

23:18:25 #405 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:25 #406 [Debug] > │     let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}"          │

23:18:25 #407 [Debug] > │     ()                                                                       │

23:18:25 #408 [Debug] > │ method0()                                                                    │

23:18:25 #409 [Debug] > │                                                                              │

23:18:25 #410 [Debug] > │                                                                              │

23:18:25 #411 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:25 #412 [Debug] >

23:18:25 #413 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:25 #414 [Debug] > // // test

23:18:25 #415 [Debug] >

23:18:25 #416 [Debug] > listm'.new_finite_lazy_list print_and_return 10i32

23:18:25 #417 [Debug] > |> flip listm'.try_lazy_item

23:18:25 #418 [Debug] > |> take_while (fun n (_ : i32) => n < 5)

23:18:25 #419 [Debug] > |> listm'.sum

23:18:25 #420 [Debug] > |> _equal 10

23:18:26 #421 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2596-9673-9298f6ca8e7a\main.spi

23:18:26 #422 [Debug] >

23:18:26 #423 [Debug] > ╭─[ 173.56ms - stdout ]────────────────────────────────────────────────────────╮

23:18:26 #424 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:26 #425 [Debug] > │     printfn $"print_and_return / x: {0}"                                     │

23:18:26 #426 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:26 #427 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:26 #428 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:26 #429 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:26 #430 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:26 #431 [Debug] > │     printfn $"print_and_return / x: {3}"                                     │

23:18:26 #432 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:26 #433 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:26 #434 [Debug] > │     printfn $"print_and_return / x: {3}"                                     │

23:18:26 #435 [Debug] > │     printfn $"print_and_return / x: {4}"                                     │

23:18:26 #436 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:26 #437 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:26 #438 [Debug] > │     printfn $"print_and_return / x: {3}"                                     │

23:18:26 #439 [Debug] > │     printfn $"print_and_return / x: {4}"                                     │

23:18:26 #440 [Debug] > │     printfn $"print_and_return / x: {5}"                                     │

23:18:26 #441 [Debug] > │     let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}"          │

23:18:26 #442 [Debug] > │     ()                                                                       │

23:18:26 #443 [Debug] > │ method0()                                                                    │

23:18:26 #444 [Debug] > │                                                                              │

23:18:26 #445 [Debug] > │ print_and_return / x: 0                                                      │

23:18:26 #446 [Debug] > │ print_and_return / x: 1                                                      │

23:18:26 #447 [Debug] > │ print_and_return / x: 1                                                      │

23:18:26 #448 [Debug] > │ print_and_return / x: 2                                                      │

23:18:26 #449 [Debug] > │ print_and_return / x: 1                                                      │

23:18:26 #450 [Debug] > │ print_and_return / x: 2                                                      │

23:18:26 #451 [Debug] > │ print_and_return / x: 3                                                      │

23:18:26 #452 [Debug] > │ print_and_return / x: 1                                                      │

23:18:26 #453 [Debug] > │ print_and_return / x: 2                                                      │

23:18:26 #454 [Debug] > │ print_and_return / x: 3                                                      │

23:18:26 #455 [Debug] > │ print_and_return / x: 4                                                      │

23:18:26 #456 [Debug] > │ print_and_return / x: 1                                                      │

23:18:26 #457 [Debug] > │ print_and_return / x: 2                                                      │

23:18:26 #458 [Debug] > │ print_and_return / x: 3                                                      │

23:18:26 #459 [Debug] > │ print_and_return / x: 4                                                      │

23:18:26 #460 [Debug] > │ print_and_return / x: 5                                                      │

23:18:26 #461 [Debug] > │                                                                              │

23:18:26 #462 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:26 #463 [Debug] >

23:18:26 #464 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:26 #465 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:26 #466 [Debug] > │ ## take_while_                                                               │

23:18:26 #467 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:26 #468 [Debug] >

23:18:26 #469 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:26 #470 [Debug] > inl take_while_ cond seq =

23:18:26 #471 [Debug] >     let rec loop acc i =

23:18:26 #472 [Debug] >         match seq i with

23:18:26 #473 [Debug] >         | Some st when cond st i => loop (st :: acc) (i + 1)

23:18:26 #474 [Debug] >         | _ => acc |> listm.rev

23:18:26 #475 [Debug] >     loop [[]] 0

23:18:26 #476 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2616-1640-1d8dd2e943bf\main.spi

23:18:26 #477 [Debug] >

23:18:26 #478 [Debug] > ╭─[ 147.34ms - stdout ]────────────────────────────────────────────────────────╮

23:18:26 #479 [Debug] > │ ()                                                                           │

23:18:26 #480 [Debug] > │                                                                              │

23:18:26 #481 [Debug] > │                                                                              │

23:18:26 #482 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:26 #483 [Debug] >

23:18:26 #484 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:26 #485 [Debug] > // // test

23:18:26 #486 [Debug] >

23:18:26 #487 [Debug] > listm'.new_infinite_lazy_list_ print_and_return

23:18:26 #488 [Debug] > |> flip listm'.try_lazy_item_

23:18:26 #489 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5i32)

23:18:26 #490 [Debug] > |> listm'.sum

23:18:26 #491 [Debug] > |> _equal 10

23:18:26 #492 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2631-3144-39c8339c4f20\main.spi

23:18:27 #493 [Debug] >

23:18:27 #494 [Debug] > ╭─[ 777.23ms - stdout ]────────────────────────────────────────────────────────╮

23:18:27 #495 [Debug] > │ type UH0 =                                                                   │

23:18:27 #496 [Debug] > │     | UH0_0 of int32 * (unit -> UH0)                                         │

23:18:27 #497 [Debug] > │     | UH0_1                                                                  │

23:18:27 #498 [Debug] > │ and UH1 =                                                                    │

23:18:27 #499 [Debug] > │     | UH1_0 of int32 * UH1                                                   │

23:18:27 #500 [Debug] > │     | UH1_1                                                                  │

23:18:27 #501 [Debug] > │ and Mut0 = {mutable l0 : int32}                                              │

23:18:27 #502 [Debug] > │ and Mut1 = {mutable l0 : UH0}                                                │

23:18:27 #503 [Debug] > │ and [<Struct>] US0 =                                                         │

23:18:27 #504 [Debug] > │     | US0_0                                                                  │

23:18:27 #505 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:27 #506 [Debug] > │ let rec closure0 (v0 : int32) () : UH0 =                                     │

23:18:27 #507 [Debug] > │     let v1 : int32 = v0 + 1                                                  │

23:18:27 #508 [Debug] > │     method1(v1)                                                              │

23:18:27 #509 [Debug] > │ and method1 (v0 : int32) : UH0 =                                             │

23:18:27 #510 [Debug] > │     printfn $"print_and_return / x: {v0}"                                    │

23:18:27 #511 [Debug] > │     let v1 : (unit -> UH0) = closure0(v0)                                    │

23:18:27 #512 [Debug] > │     UH0_0(v0, v1)                                                            │

23:18:27 #513 [Debug] > │ and method3 (v0 : Mut0, v1 : Mut1) : US0 =                                   │

23:18:27 #514 [Debug] > │     let v2 : UH0 = v1.l0                                                     │

23:18:27 #515 [Debug] > │     match v2 with                                                            │

23:18:27 #516 [Debug] > │     | UH0_0(v3, v4) -> (* LazyCons *)                                        │

23:18:27 #517 [Debug] > │         let v5 : int32 = v0.l0                                               │

23:18:27 #518 [Debug] > │         let v6 : bool = v5 = 0                                               │

23:18:27 #519 [Debug] > │         if v6 then                                                           │

23:18:27 #520 [Debug] > │             US0_1(v3)                                                        │

23:18:27 #521 [Debug] > │         else                                                                 │

23:18:27 #522 [Debug] > │             let v8 : int32 = v0.l0                                           │

23:18:27 #523 [Debug] > │             let v9 : int32 = v8 - 1                                          │

23:18:27 #524 [Debug] > │             v0.l0 <- v9                                                      │

23:18:27 #525 [Debug] > │             let v10 : UH0 = v4 ()                                            │

23:18:27 #526 [Debug] > │             v1.l0 <- v10                                                     │

23:18:27 #527 [Debug] > │             method3(v0, v1)                                                  │

23:18:27 #528 [Debug] > │     | UH0_1 -> (* LazyNil *)                                                 │

23:18:27 #529 [Debug] > │         US0_0                                                                │

23:18:27 #530 [Debug] > │ and method4 (v0 : UH1, v1 : UH1) : UH1 =                                     │

23:18:27 #531 [Debug] > │     match v0 with                                                            │

23:18:27 #532 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:27 #533 [Debug] > │         let v4 : UH1 = UH1_0(v2, v1)                                         │

23:18:27 #534 [Debug] > │         method4(v3, v4)                                                      │

23:18:27 #535 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:27 #536 [Debug] > │         v1                                                                   │

23:18:27 #537 [Debug] > │ and method2 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 =                         │

23:18:27 #538 [Debug] > │     let v3 : Mut0 = {l0 = v2} : Mut0                                         │

23:18:27 #539 [Debug] > │     let v4 : Mut1 = {l0 = v0} : Mut1                                         │

23:18:27 #540 [Debug] > │     let v5 : US0 = method3(v3, v4)                                           │

23:18:27 #541 [Debug] > │     match v5 with                                                            │

23:18:27 #542 [Debug] > │     | US0_1(v6) -> (* Some *)                                                │

23:18:27 #543 [Debug] > │         let v7 : bool = v6 < 5                                               │

23:18:27 #544 [Debug] > │         if v7 then                                                           │

23:18:27 #545 [Debug] > │             let v8 : UH1 = UH1_0(v6, v1)                                     │

23:18:27 #546 [Debug] > │             let v9 : int32 = v2 + 1                                          │

23:18:27 #547 [Debug] > │             method2(v0, v8, v9)                                              │

23:18:27 #548 [Debug] > │         else                                                                 │

23:18:27 #549 [Debug] > │             let v11 : UH1 = UH1_1                                            │

23:18:27 #550 [Debug] > │             method4(v1, v11)                                                 │

23:18:27 #551 [Debug] > │     | _ ->                                                                   │

23:18:27 #552 [Debug] > │         let v14 : UH1 = UH1_1                                                │

23:18:27 #553 [Debug] > │         method4(v1, v14)                                                     │

23:18:27 #554 [Debug] > │ and method5 (v0 : UH1, v1 : int32) : int32 =                                 │

23:18:27 #555 [Debug] > │     match v0 with                                                            │

23:18:27 #556 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:27 #557 [Debug] > │         let v4 : int32 = v1 + v2                                             │

23:18:27 #558 [Debug] > │         method5(v3, v4)                                                      │

23:18:27 #559 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:27 #560 [Debug] > │         v1                                                                   │

23:18:27 #561 [Debug] > │ and method0 () : unit =                                                      │

23:18:27 #562 [Debug] > │     let v0 : int32 = 0                                                       │

23:18:27 #563 [Debug] > │     let v1 : UH0 = method1(v0)                                               │

23:18:27 #564 [Debug] > │     let v2 : UH1 = UH1_1                                                     │

23:18:27 #565 [Debug] > │     let v3 : int32 = 0                                                       │

23:18:27 #566 [Debug] > │     let v4 : UH1 = method2(v1, v2, v3)                                       │

23:18:27 #567 [Debug] > │     let v5 : int32 = 0                                                       │

23:18:27 #568 [Debug] > │     let v6 : int32 = method5(v4, v5)                                         │

23:18:27 #569 [Debug] > │     let v7 : bool = v6 = 10                                                  │

23:18:27 #570 [Debug] > │     let v8 : string = $"_equal / actual: %A{v6} / expected: %A{10}"          │

23:18:27 #571 [Debug] > │     let v9 : bool = v7 = false                                               │

23:18:27 #572 [Debug] > │     if v9 then                                                               │

23:18:27 #573 [Debug] > │         failwith<unit> v8                                                    │

23:18:27 #574 [Debug] > │ method0()                                                                    │

23:18:27 #575 [Debug] > │                                                                              │

23:18:27 #576 [Debug] > │ print_and_return / x: 0                                                      │

23:18:27 #577 [Debug] > │ print_and_return / x: 1                                                      │

23:18:27 #578 [Debug] > │ print_and_return / x: 1                                                      │

23:18:27 #579 [Debug] > │ print_and_return / x: 2                                                      │

23:18:27 #580 [Debug] > │ print_and_return / x: 1                                                      │

23:18:27 #581 [Debug] > │ print_and_return / x: 2                                                      │

23:18:27 #582 [Debug] > │ print_and_return / x: 3                                                      │

23:18:27 #583 [Debug] > │ print_and_return / x: 1                                                      │

23:18:27 #584 [Debug] > │ print_and_return / x: 2                                                      │

23:18:27 #585 [Debug] > │ print_and_return / x: 3                                                      │

23:18:27 #586 [Debug] > │ print_and_return / x: 4                                                      │

23:18:27 #587 [Debug] > │ print_and_return / x: 1                                                      │

23:18:27 #588 [Debug] > │ print_and_return / x: 2                                                      │

23:18:27 #589 [Debug] > │ print_and_return / x: 3                                                      │

23:18:27 #590 [Debug] > │ print_and_return / x: 4                                                      │

23:18:27 #591 [Debug] > │ print_and_return / x: 5                                                      │

23:18:27 #592 [Debug] > │                                                                              │

23:18:27 #593 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:27 #594 [Debug] >

23:18:27 #595 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:27 #596 [Debug] > // // test

23:18:27 #597 [Debug] >

23:18:27 #598 [Debug] > listm'.new_infinite_lazy_list_ print_and_return

23:18:27 #599 [Debug] > |> listm'.memoize_lazy_list

23:18:27 #600 [Debug] > |> fun list =>

23:18:27 #601 [Debug] >     inl list = list ()

23:18:27 #602 [Debug] >     fun n =>

23:18:27 #603 [Debug] >         list |> listm'.try_lazy_item_ n

23:18:27 #604 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5i32)

23:18:27 #605 [Debug] > |> listm'.sum

23:18:27 #606 [Debug] > |> _equal 10

23:18:27 #607 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2713-1396-129b03b6a2ca\main.spi

23:18:27 #608 [Debug] >

23:18:27 #609 [Debug] > ╭─[ 332.72ms - stdout ]────────────────────────────────────────────────────────╮

23:18:27 #610 [Debug] > │ type UH0 =                                                                   │

23:18:27 #611 [Debug] > │     | UH0_0 of int32 * (unit -> UH0)                                         │

23:18:27 #612 [Debug] > │     | UH0_1                                                                  │

23:18:27 #613 [Debug] > │ and [<Struct>] US0 =                                                         │

23:18:27 #614 [Debug] > │     | US0_0 of f0_0 : UH0                                                    │

23:18:27 #615 [Debug] > │     | US0_1 of f1_0 : (unit -> UH0)                                          │

23:18:27 #616 [Debug] > │ and Mut0 = {mutable l0 : US0}                                                │

23:18:27 #617 [Debug] > │ and UH1 =                                                                    │

23:18:27 #618 [Debug] > │     | UH1_0 of int32 * UH1                                                   │

23:18:27 #619 [Debug] > │     | UH1_1                                                                  │

23:18:27 #620 [Debug] > │ and Mut1 = {mutable l0 : int32}                                              │

23:18:27 #621 [Debug] > │ and Mut2 = {mutable l0 : UH0}                                                │

23:18:27 #622 [Debug] > │ and [<Struct>] US1 =                                                         │

23:18:27 #623 [Debug] > │     | US1_0                                                                  │

23:18:27 #624 [Debug] > │     | US1_1 of f1_0 : int32                                                  │

23:18:27 #625 [Debug] > │ let rec closure0 (v0 : int32) () : UH0 =                                     │

23:18:27 #626 [Debug] > │     let v1 : int32 = v0 + 1                                                  │

23:18:27 #627 [Debug] > │     method1(v1)                                                              │

23:18:27 #628 [Debug] > │ and method1 (v0 : int32) : UH0 =                                             │

23:18:27 #629 [Debug] > │     printfn $"print_and_return / x: {v0}"                                    │

23:18:27 #630 [Debug] > │     let v1 : (unit -> UH0) = closure0(v0)                                    │

23:18:27 #631 [Debug] > │     UH0_0(v0, v1)                                                            │

23:18:27 #632 [Debug] > │ and closure1 (v0 : UH0) () : UH0 =                                           │

23:18:27 #633 [Debug] > │     v0                                                                       │

23:18:27 #634 [Debug] > │ and closure2 (v0 : Mut0) () : UH0 =                                          │

23:18:27 #635 [Debug] > │     let v1 : US0 = v0.l0                                                     │

23:18:27 #636 [Debug] > │     match v1 with                                                            │

23:18:27 #637 [Debug] > │     | US0_0(v2) -> (* Computed *)                                            │

23:18:27 #638 [Debug] > │         v2                                                                   │

23:18:27 #639 [Debug] > │     | US0_1(v3) -> (* NotComputed *)                                         │

23:18:27 #640 [Debug] > │         let v4 : UH0 = v3 ()                                                 │

23:18:27 #641 [Debug] > │         let v13 : UH0 =                                                      │

23:18:27 #642 [Debug] > │             match v4 with                                                    │

23:18:27 #643 [Debug] > │             | UH0_0(v6, v7) -> (* LazyCons *)                                │

23:18:27 #644 [Debug] > │                 let v8 : US0 = US0_1(v7)                                     │

23:18:27 #645 [Debug] > │                 let v9 : Mut0 = {l0 = v8} : Mut0                             │

23:18:27 #646 [Debug] > │                 let v10 : (unit -> UH0) = closure2(v9)                       │

23:18:27 #647 [Debug] > │                 UH0_0(v6, v10)                                               │

23:18:27 #648 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:27 #649 [Debug] > │                 UH0_1                                                        │

23:18:27 #650 [Debug] > │         let v14 : US0 = US0_0(v13)                                           │

23:18:27 #651 [Debug] > │         v0.l0 <- v14                                                         │

23:18:27 #652 [Debug] > │         v13                                                                  │

23:18:27 #653 [Debug] > │ and method3 (v0 : Mut1, v1 : Mut2) : US1 =                                   │

23:18:27 #654 [Debug] > │     let v2 : UH0 = v1.l0                                                     │

23:18:27 #655 [Debug] > │     match v2 with                                                            │

23:18:27 #656 [Debug] > │     | UH0_0(v3, v4) -> (* LazyCons *)                                        │

23:18:27 #657 [Debug] > │         let v5 : int32 = v0.l0                                               │

23:18:27 #658 [Debug] > │         let v6 : bool = v5 = 0                                               │

23:18:27 #659 [Debug] > │         if v6 then                                                           │

23:18:27 #660 [Debug] > │             US1_1(v3)                                                        │

23:18:27 #661 [Debug] > │         else                                                                 │

23:18:27 #662 [Debug] > │             let v8 : int32 = v0.l0                                           │

23:18:27 #663 [Debug] > │             let v9 : int32 = v8 - 1                                          │

23:18:27 #664 [Debug] > │             v0.l0 <- v9                                                      │

23:18:27 #665 [Debug] > │             let v10 : UH0 = v4 ()                                            │

23:18:27 #666 [Debug] > │             v1.l0 <- v10                                                     │

23:18:27 #667 [Debug] > │             method3(v0, v1)                                                  │

23:18:27 #668 [Debug] > │     | UH0_1 -> (* LazyNil *)                                                 │

23:18:27 #669 [Debug] > │         US1_0                                                                │

23:18:27 #670 [Debug] > │ and method4 (v0 : UH1, v1 : UH1) : UH1 =                                     │

23:18:27 #671 [Debug] > │     match v0 with                                                            │

23:18:27 #672 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:27 #673 [Debug] > │         let v4 : UH1 = UH1_0(v2, v1)                                         │

23:18:27 #674 [Debug] > │         method4(v3, v4)                                                      │

23:18:27 #675 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:27 #676 [Debug] > │         v1                                                                   │

23:18:27 #677 [Debug] > │ and method2 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 =                         │

23:18:27 #678 [Debug] > │     let v3 : Mut1 = {l0 = v2} : Mut1                                         │

23:18:27 #679 [Debug] > │     let v4 : Mut2 = {l0 = v0} : Mut2                                         │

23:18:27 #680 [Debug] > │     let v5 : US1 = method3(v3, v4)                                           │

23:18:27 #681 [Debug] > │     match v5 with                                                            │

23:18:27 #682 [Debug] > │     | US1_1(v6) -> (* Some *)                                                │

23:18:27 #683 [Debug] > │         let v7 : bool = v6 < 5                                               │

23:18:27 #684 [Debug] > │         if v7 then                                                           │

23:18:27 #685 [Debug] > │             let v8 : UH1 = UH1_0(v6, v1)                                     │

23:18:27 #686 [Debug] > │             let v9 : int32 = v2 + 1                                          │

23:18:27 #687 [Debug] > │             method2(v0, v8, v9)                                              │

23:18:27 #688 [Debug] > │         else                                                                 │

23:18:27 #689 [Debug] > │             let v11 : UH1 = UH1_1                                            │

23:18:27 #690 [Debug] > │             method4(v1, v11)                                                 │

23:18:27 #691 [Debug] > │     | _ ->                                                                   │

23:18:27 #692 [Debug] > │         let v14 : UH1 = UH1_1                                                │

23:18:27 #693 [Debug] > │         method4(v1, v14)                                                     │

23:18:27 #694 [Debug] > │ and method5 (v0 : UH1, v1 : int32) : int32 =                                 │

23:18:27 #695 [Debug] > │     match v0 with                                                            │

23:18:27 #696 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:27 #697 [Debug] > │         let v4 : int32 = v1 + v2                                             │

23:18:27 #698 [Debug] > │         method5(v3, v4)                                                      │

23:18:27 #699 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:27 #700 [Debug] > │         v1                                                                   │

23:18:27 #701 [Debug] > │ and method0 () : unit =                                                      │

23:18:27 #702 [Debug] > │     let v0 : int32 = 0                                                       │

23:18:27 #703 [Debug] > │     let v1 : UH0 = method1(v0)                                               │

23:18:27 #704 [Debug] > │     let v2 : (unit -> UH0) = closure1(v1)                                    │

23:18:27 #705 [Debug] > │     let v3 : US0 = US0_1(v2)                                                 │

23:18:27 #706 [Debug] > │     let v4 : Mut0 = {l0 = v3} : Mut0                                         │

23:18:27 #707 [Debug] > │     let v5 : US0 = v4.l0                                                     │

23:18:27 #708 [Debug] > │     let v20 : UH0 =                                                          │

23:18:27 #709 [Debug] > │         match v5 with                                                        │

23:18:27 #710 [Debug] > │         | US0_0(v6) -> (* Computed *)                                        │

23:18:27 #711 [Debug] > │             v6                                                               │

23:18:27 #712 [Debug] > │         | US0_1(v7) -> (* NotComputed *)                                     │

23:18:27 #713 [Debug] > │             let v8 : UH0 = v7 ()                                             │

23:18:27 #714 [Debug] > │             let v17 : UH0 =                                                  │

23:18:27 #715 [Debug] > │                 match v8 with                                                │

23:18:27 #716 [Debug] > │                 | UH0_0(v10, v11) -> (* LazyCons *)                          │

23:18:27 #717 [Debug] > │                     let v12 : US0 = US0_1(v11)                               │

23:18:27 #718 [Debug] > │                     let v13 : Mut0 = {l0 = v12} : Mut0                       │

23:18:27 #719 [Debug] > │                     let v14 : (unit -> UH0) = closure2(v13)                  │

23:18:27 #720 [Debug] > │                     UH0_0(v10, v14)                                          │

23:18:27 #721 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:27 #722 [Debug] > │                     UH0_1                                                    │

23:18:27 #723 [Debug] > │             let v18 : US0 = US0_0(v17)                                       │

23:18:27 #724 [Debug] > │             v4.l0 <- v18                                                     │

23:18:27 #725 [Debug] > │             v17                                                              │

23:18:27 #726 [Debug] > │     let v21 : UH1 = UH1_1                                                    │

23:18:27 #727 [Debug] > │     let v22 : int32 = 0                                                      │

23:18:27 #728 [Debug] > │     let v23 : UH1 = method2(v20, v21, v22)                                   │

23:18:27 #729 [Debug] > │     let v24 : int32 = 0                                                      │

23:18:27 #730 [Debug] > │     let v25 : int32 = method5(v23, v24)                                      │

23:18:27 #731 [Debug] > │     let v26 : bool = v25 = 10                                                │

23:18:27 #732 [Debug] > │     let v27 : string = $"_equal / actual: %A{v25} / expected: %A{10}"        │

23:18:27 #733 [Debug] > │     let v28 : bool = v26 = false                                             │

23:18:27 #734 [Debug] > │     if v28 then                                                              │

23:18:27 #735 [Debug] > │         failwith<unit> v27                                                   │

23:18:27 #736 [Debug] > │ method0()                                                                    │

23:18:27 #737 [Debug] > │                                                                              │

23:18:27 #738 [Debug] > │ print_and_return / x: 0                                                      │

23:18:27 #739 [Debug] > │ print_and_return / x: 1                                                      │

23:18:27 #740 [Debug] > │ print_and_return / x: 2                                                      │

23:18:27 #741 [Debug] > │ print_and_return / x: 3                                                      │

23:18:27 #742 [Debug] > │ print_and_return / x: 4                                                      │

23:18:27 #743 [Debug] > │ print_and_return / x: 5                                                      │

23:18:27 #744 [Debug] > │                                                                              │

23:18:27 #745 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:27 #746 [Debug] >

23:18:27 #747 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:27 #748 [Debug] > // // test

23:18:27 #749 [Debug] >

23:18:27 #750 [Debug] > listm'.new_finite_lazy_list print_and_return 10i32

23:18:27 #751 [Debug] > |> listm'.memoize_lazy_list

23:18:27 #752 [Debug] > |> fun list =>

23:18:27 #753 [Debug] >     inl list = list ()

23:18:27 #754 [Debug] >     fun n =>

23:18:27 #755 [Debug] >         list |> listm'.try_lazy_item_ n

23:18:27 #756 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5)

23:18:27 #757 [Debug] > |> listm'.sum

23:18:27 #758 [Debug] > |> _equal 10

23:18:27 #759 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2755-5561-5ee2f3c47df6\main.spi

23:18:27 #760 [Debug] >

23:18:27 #761 [Debug] > ╭─[ 336.85ms - stdout ]────────────────────────────────────────────────────────╮

23:18:27 #762 [Debug] > │ type UH0 =                                                                   │

23:18:27 #763 [Debug] > │     | UH0_0 of int32 * (unit -> UH0)                                         │

23:18:27 #764 [Debug] > │     | UH0_1                                                                  │

23:18:27 #765 [Debug] > │ and [<Struct>] US0 =                                                         │

23:18:27 #766 [Debug] > │     | US0_0 of f0_0 : UH0                                                    │

23:18:27 #767 [Debug] > │     | US0_1 of f1_0 : (unit -> UH0)                                          │

23:18:27 #768 [Debug] > │ and Mut0 = {mutable l0 : US0}                                                │

23:18:27 #769 [Debug] > │ and UH1 =                                                                    │

23:18:27 #770 [Debug] > │     | UH1_0 of int32 * UH1                                                   │

23:18:27 #771 [Debug] > │     | UH1_1                                                                  │

23:18:27 #772 [Debug] > │ and Mut1 = {mutable l0 : int32}                                              │

23:18:27 #773 [Debug] > │ and Mut2 = {mutable l0 : UH0}                                                │

23:18:27 #774 [Debug] > │ and [<Struct>] US1 =                                                         │

23:18:27 #775 [Debug] > │     | US1_0                                                                  │

23:18:27 #776 [Debug] > │     | US1_1 of f1_0 : int32                                                  │

23:18:27 #777 [Debug] > │ let rec closure10 () () : UH0 =                                              │

23:18:27 #778 [Debug] > │     UH0_1                                                                    │

23:18:27 #779 [Debug] > │ and closure9 () () : UH0 =                                                   │

23:18:27 #780 [Debug] > │     printfn $"print_and_return / x: {9}"                                     │

23:18:27 #781 [Debug] > │     let v0 : (unit -> UH0) = closure10()                                     │

23:18:27 #782 [Debug] > │     UH0_0(9, v0)                                                             │

23:18:27 #783 [Debug] > │ and closure8 () () : UH0 =                                                   │

23:18:27 #784 [Debug] > │     printfn $"print_and_return / x: {8}"                                     │

23:18:27 #785 [Debug] > │     let v0 : (unit -> UH0) = closure9()                                      │

23:18:27 #786 [Debug] > │     UH0_0(8, v0)                                                             │

23:18:27 #787 [Debug] > │ and closure7 () () : UH0 =                                                   │

23:18:27 #788 [Debug] > │     printfn $"print_and_return / x: {7}"                                     │

23:18:27 #789 [Debug] > │     let v0 : (unit -> UH0) = closure8()                                      │

23:18:27 #790 [Debug] > │     UH0_0(7, v0)                                                             │

23:18:27 #791 [Debug] > │ and closure6 () () : UH0 =                                                   │

23:18:27 #792 [Debug] > │     printfn $"print_and_return / x: {6}"                                     │

23:18:27 #793 [Debug] > │     let v0 : (unit -> UH0) = closure7()                                      │

23:18:27 #794 [Debug] > │     UH0_0(6, v0)                                                             │

23:18:27 #795 [Debug] > │ and closure5 () () : UH0 =                                                   │

23:18:27 #796 [Debug] > │     printfn $"print_and_return / x: {5}"                                     │

23:18:27 #797 [Debug] > │     let v0 : (unit -> UH0) = closure6()                                      │

23:18:27 #798 [Debug] > │     UH0_0(5, v0)                                                             │

23:18:27 #799 [Debug] > │ and closure4 () () : UH0 =                                                   │

23:18:27 #800 [Debug] > │     printfn $"print_and_return / x: {4}"                                     │

23:18:27 #801 [Debug] > │     let v0 : (unit -> UH0) = closure5()                                      │

23:18:27 #802 [Debug] > │     UH0_0(4, v0)                                                             │

23:18:27 #803 [Debug] > │ and closure3 () () : UH0 =                                                   │

23:18:27 #804 [Debug] > │     printfn $"print_and_return / x: {3}"                                     │

23:18:27 #805 [Debug] > │     let v0 : (unit -> UH0) = closure4()                                      │

23:18:27 #806 [Debug] > │     UH0_0(3, v0)                                                             │

23:18:27 #807 [Debug] > │ and closure2 () () : UH0 =                                                   │

23:18:27 #808 [Debug] > │     printfn $"print_and_return / x: {2}"                                     │

23:18:27 #809 [Debug] > │     let v0 : (unit -> UH0) = closure3()                                      │

23:18:27 #810 [Debug] > │     UH0_0(2, v0)                                                             │

23:18:27 #811 [Debug] > │ and closure1 () () : UH0 =                                                   │

23:18:27 #812 [Debug] > │     printfn $"print_and_return / x: {1}"                                     │

23:18:27 #813 [Debug] > │     let v0 : (unit -> UH0) = closure2()                                      │

23:18:27 #814 [Debug] > │     UH0_0(1, v0)                                                             │

23:18:27 #815 [Debug] > │ and closure0 () () : UH0 =                                                   │

23:18:27 #816 [Debug] > │     let v0 : (unit -> UH0) = closure1()                                      │

23:18:27 #817 [Debug] > │     UH0_0(0, v0)                                                             │

23:18:27 #818 [Debug] > │ and closure11 (v0 : Mut0) () : UH0 =                                         │

23:18:27 #819 [Debug] > │     let v1 : US0 = v0.l0                                                     │

23:18:27 #820 [Debug] > │     match v1 with                                                            │

23:18:27 #821 [Debug] > │     | US0_0(v2) -> (* Computed *)                                            │

23:18:27 #822 [Debug] > │         v2                                                                   │

23:18:27 #823 [Debug] > │     | US0_1(v3) -> (* NotComputed *)                                         │

23:18:27 #824 [Debug] > │         let v4 : UH0 = v3 ()                                                 │

23:18:27 #825 [Debug] > │         let v13 : UH0 =                                                      │

23:18:27 #826 [Debug] > │             match v4 with                                                    │

23:18:27 #827 [Debug] > │             | UH0_0(v6, v7) -> (* LazyCons *)                                │

23:18:27 #828 [Debug] > │                 let v8 : US0 = US0_1(v7)                                     │

23:18:27 #829 [Debug] > │                 let v9 : Mut0 = {l0 = v8} : Mut0                             │

23:18:27 #830 [Debug] > │                 let v10 : (unit -> UH0) = closure11(v9)                      │

23:18:27 #831 [Debug] > │                 UH0_0(v6, v10)                                               │

23:18:27 #832 [Debug] > │             | UH0_1 -> (* LazyNil *)                                         │

23:18:27 #833 [Debug] > │                 UH0_1                                                        │

23:18:27 #834 [Debug] > │         let v14 : US0 = US0_0(v13)                                           │

23:18:27 #835 [Debug] > │         v0.l0 <- v14                                                         │

23:18:27 #836 [Debug] > │         v13                                                                  │

23:18:27 #837 [Debug] > │ and method2 (v0 : Mut1, v1 : Mut2) : US1 =                                   │

23:18:27 #838 [Debug] > │     let v2 : UH0 = v1.l0                                                     │

23:18:27 #839 [Debug] > │     match v2 with                                                            │

23:18:27 #840 [Debug] > │     | UH0_0(v3, v4) -> (* LazyCons *)                                        │

23:18:27 #841 [Debug] > │         let v5 : int32 = v0.l0                                               │

23:18:27 #842 [Debug] > │         let v6 : bool = v5 = 0                                               │

23:18:27 #843 [Debug] > │         if v6 then                                                           │

23:18:27 #844 [Debug] > │             US1_1(v3)                                                        │

23:18:27 #845 [Debug] > │         else                                                                 │

23:18:27 #846 [Debug] > │             let v8 : int32 = v0.l0                                           │

23:18:27 #847 [Debug] > │             let v9 : int32 = v8 - 1                                          │

23:18:27 #848 [Debug] > │             v0.l0 <- v9                                                      │

23:18:27 #849 [Debug] > │             let v10 : UH0 = v4 ()                                            │

23:18:27 #850 [Debug] > │             v1.l0 <- v10                                                     │

23:18:27 #851 [Debug] > │             method2(v0, v1)                                                  │

23:18:27 #852 [Debug] > │     | UH0_1 -> (* LazyNil *)                                                 │

23:18:27 #853 [Debug] > │         US1_0                                                                │

23:18:27 #854 [Debug] > │ and method3 (v0 : UH1, v1 : UH1) : UH1 =                                     │

23:18:27 #855 [Debug] > │     match v0 with                                                            │

23:18:27 #856 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:27 #857 [Debug] > │         let v4 : UH1 = UH1_0(v2, v1)                                         │

23:18:27 #858 [Debug] > │         method3(v3, v4)                                                      │

23:18:27 #859 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:27 #860 [Debug] > │         v1                                                                   │

23:18:27 #861 [Debug] > │ and method1 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 =                         │

23:18:27 #862 [Debug] > │     let v3 : Mut1 = {l0 = v2} : Mut1                                         │

23:18:27 #863 [Debug] > │     let v4 : Mut2 = {l0 = v0} : Mut2                                         │

23:18:27 #864 [Debug] > │     let v5 : US1 = method2(v3, v4)                                           │

23:18:27 #865 [Debug] > │     match v5 with                                                            │

23:18:27 #866 [Debug] > │     | US1_1(v6) -> (* Some *)                                                │

23:18:27 #867 [Debug] > │         let v7 : bool = v6 < 5                                               │

23:18:27 #868 [Debug] > │         if v7 then                                                           │

23:18:27 #869 [Debug] > │             let v8 : UH1 = UH1_0(v6, v1)                                     │

23:18:27 #870 [Debug] > │             let v9 : int32 = v2 + 1                                          │

23:18:27 #871 [Debug] > │             method1(v0, v8, v9)                                              │

23:18:27 #872 [Debug] > │         else                                                                 │

23:18:27 #873 [Debug] > │             let v11 : UH1 = UH1_1                                            │

23:18:27 #874 [Debug] > │             method3(v1, v11)                                                 │

23:18:27 #875 [Debug] > │     | _ ->                                                                   │

23:18:27 #876 [Debug] > │         let v14 : UH1 = UH1_1                                                │

23:18:27 #877 [Debug] > │         method3(v1, v14)                                                     │

23:18:27 #878 [Debug] > │ and method4 (v0 : UH1, v1 : int32) : int32 =                                 │

23:18:27 #879 [Debug] > │     match v0 with                                                            │

23:18:27 #880 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:27 #881 [Debug] > │         let v4 : int32 = v1 + v2                                             │

23:18:27 #882 [Debug] > │         method4(v3, v4)                                                      │

23:18:27 #883 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:27 #884 [Debug] > │         v1                                                                   │

23:18:27 #885 [Debug] > │ and method0 () : unit =                                                      │

23:18:27 #886 [Debug] > │     printfn $"print_and_return / x: {0}"                                     │

23:18:27 #887 [Debug] > │     let v0 : (unit -> UH0) = closure0()                                      │

23:18:27 #888 [Debug] > │     let v1 : US0 = US0_1(v0)                                                 │

23:18:27 #889 [Debug] > │     let v2 : Mut0 = {l0 = v1} : Mut0                                         │

23:18:27 #890 [Debug] > │     let v3 : US0 = v2.l0                                                     │

23:18:27 #891 [Debug] > │     let v18 : UH0 =                                                          │

23:18:27 #892 [Debug] > │         match v3 with                                                        │

23:18:27 #893 [Debug] > │         | US0_0(v4) -> (* Computed *)                                        │

23:18:27 #894 [Debug] > │             v4                                                               │

23:18:27 #895 [Debug] > │         | US0_1(v5) -> (* NotComputed *)                                     │

23:18:27 #896 [Debug] > │             let v6 : UH0 = v5 ()                                             │

23:18:27 #897 [Debug] > │             let v15 : UH0 =                                                  │

23:18:27 #898 [Debug] > │                 match v6 with                                                │

23:18:27 #899 [Debug] > │                 | UH0_0(v8, v9) -> (* LazyCons *)                            │

23:18:27 #900 [Debug] > │                     let v10 : US0 = US0_1(v9)                                │

23:18:27 #901 [Debug] > │                     let v11 : Mut0 = {l0 = v10} : Mut0                       │

23:18:27 #902 [Debug] > │                     let v12 : (unit -> UH0) = closure11(v11)                 │

23:18:27 #903 [Debug] > │                     UH0_0(v8, v12)                                           │

23:18:27 #904 [Debug] > │                 | UH0_1 -> (* LazyNil *)                                     │

23:18:27 #905 [Debug] > │                     UH0_1                                                    │

23:18:27 #906 [Debug] > │             let v16 : US0 = US0_0(v15)                                       │

23:18:27 #907 [Debug] > │             v2.l0 <- v16                                                     │

23:18:27 #908 [Debug] > │             v15                                                              │

23:18:27 #909 [Debug] > │     let v19 : UH1 = UH1_1                                                    │

23:18:27 #910 [Debug] > │     let v20 : int32 = 0                                                      │

23:18:27 #911 [Debug] > │     let v21 : UH1 = method1(v18, v19, v20)                                   │

23:18:27 #912 [Debug] > │     let v22 : int32 = 0                                                      │

23:18:27 #913 [Debug] > │     let v23 : int32 = method4(v21, v22)                                      │

23:18:27 #914 [Debug] > │     let v24 : bool = v23 = 10                                                │

23:18:27 #915 [Debug] > │     let v25 : string = $"_equal / actual: %A{v23} / expected: %A{10}"        │

23:18:27 #916 [Debug] > │     let v26 : bool = v24 = false                                             │

23:18:27 #917 [Debug] > │     if v26 then                                                              │

23:18:27 #918 [Debug] > │         failwith<unit> v25                                                   │

23:18:27 #919 [Debug] > │ method0()                                                                    │

23:18:27 #920 [Debug] > │                                                                              │

23:18:27 #921 [Debug] > │ print_and_return / x: 0                                                      │

23:18:27 #922 [Debug] > │ print_and_return / x: 1                                                      │

23:18:27 #923 [Debug] > │ print_and_return / x: 2                                                      │

23:18:27 #924 [Debug] > │ print_and_return / x: 3                                                      │

23:18:27 #925 [Debug] > │ print_and_return / x: 4                                                      │

23:18:27 #926 [Debug] > │ print_and_return / x: 5                                                      │

23:18:27 #927 [Debug] > │                                                                              │

23:18:27 #928 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:27 #929 [Debug] >

23:18:27 #930 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:27 #931 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:27 #932 [Debug] > │ ## memoize                                                                   │

23:18:27 #933 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:27 #934 [Debug] >

23:18:27 #935 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:27 #936 [Debug] > inl memoize seq =

23:18:27 #937 [Debug] >     inl state = mut [[]]

23:18:27 #938 [Debug] >     fun n =>

23:18:27 #939 [Debug] >         match *state |> listm'.try_find (fun (n', _) => n' = n) with

23:18:27 #940 [Debug] >         | Some (_, v) => v

23:18:27 #941 [Debug] >         | None =>

23:18:27 #942 [Debug] >             inl new_state = seq n

23:18:27 #943 [Debug] >             state <- (n, new_state) :: *state

23:18:27 #944 [Debug] >             new_state

23:18:27 #945 [Debug] >

23:18:27 #946 [Debug] > inl memoize_ seq =

23:18:27 #947 [Debug] >     inl state = mut [[]]

23:18:27 #948 [Debug] >     fun n =>

23:18:27 #949 [Debug] >         match *state |> listm'.try_find_ (fun (n', _) => n' = n) with

23:18:27 #950 [Debug] >         | Some (_, v) => v

23:18:27 #951 [Debug] >         | None =>

23:18:27 #952 [Debug] >             inl new_state = seq n

23:18:27 #953 [Debug] >             state <- (n, new_state) :: *state

23:18:27 #954 [Debug] >             new_state

23:18:28 #955 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2797-9708-97a94e86754c\main.spi

23:18:28 #956 [Debug] >

23:18:28 #957 [Debug] > ╭─[ 238.87ms - stdout ]────────────────────────────────────────────────────────╮

23:18:28 #958 [Debug] > │ ()                                                                           │

23:18:28 #959 [Debug] > │                                                                              │

23:18:28 #960 [Debug] > │                                                                              │

23:18:28 #961 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:28 #962 [Debug] >

23:18:28 #963 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:28 #964 [Debug] > // // test

23:18:28 #965 [Debug] >

23:18:28 #966 [Debug] > inl seq =

23:18:28 #967 [Debug] >     fun n =>

23:18:28 #968 [Debug] >         n |> print_and_return |> Some

23:18:28 #969 [Debug] >     |> memoize_

23:18:28 #970 [Debug] >

23:18:28 #971 [Debug] > seq

23:18:28 #972 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5)

23:18:28 #973 [Debug] > |> listm'.sum

23:18:28 #974 [Debug] > |> _equal 10

23:18:28 #975 [Debug] >

23:18:28 #976 [Debug] > seq

23:18:28 #977 [Debug] > |> take_while_ (fun n _ => n < 5)

23:18:28 #978 [Debug] > |> listm'.sum

23:18:28 #979 [Debug] > |> _equal 10

23:18:28 #980 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2821-2115-275de1efe204\main.spi

23:18:28 #981 [Debug] >

23:18:28 #982 [Debug] > ╭─[ 306.50ms - stdout ]────────────────────────────────────────────────────────╮

23:18:28 #983 [Debug] > │ type [<Struct>] US0 =                                                        │

23:18:28 #984 [Debug] > │     | US0_0                                                                  │

23:18:28 #985 [Debug] > │     | US0_1 of f1_0 : int32                                                  │

23:18:28 #986 [Debug] > │ and UH0 =                                                                    │

23:18:28 #987 [Debug] > │     | UH0_0 of int32 * US0 * UH0                                             │

23:18:28 #988 [Debug] > │     | UH0_1                                                                  │

23:18:28 #989 [Debug] > │ and Mut0 = {mutable l0 : UH0}                                                │

23:18:28 #990 [Debug] > │ and UH1 =                                                                    │

23:18:28 #991 [Debug] > │     | UH1_0 of int32 * UH1                                                   │

23:18:28 #992 [Debug] > │     | UH1_1                                                                  │

23:18:28 #993 [Debug] > │ and [<Struct>] US1 =                                                         │

23:18:28 #994 [Debug] > │     | US1_0                                                                  │

23:18:28 #995 [Debug] > │     | US1_1 of f1_0 : int32 * f1_1 : US0                                     │

23:18:28 #996 [Debug] > │ let rec method2 (v0 : int32, v1 : UH0) : US1 =                               │

23:18:28 #997 [Debug] > │     match v1 with                                                            │

23:18:28 #998 [Debug] > │     | UH0_0(v3, v4, v5) -> (* Cons *)                                        │

23:18:28 #999 [Debug] > │         let v6 : bool = v3 = v0                                              │

23:18:28 #1000 [Debug] > │         if v6 then                                                           │

23:18:28 #1001 [Debug] > │             US1_1(v3, v4)                                                    │

23:18:28 #1002 [Debug] > │         else                                                                 │

23:18:28 #1003 [Debug] > │             method2(v0, v5)                                                  │

23:18:28 #1004 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:18:28 #1005 [Debug] > │         US1_0                                                                │

23:18:28 #1006 [Debug] > │ and method3 (v0 : UH1, v1 : UH1) : UH1 =                                     │

23:18:28 #1007 [Debug] > │     match v0 with                                                            │

23:18:28 #1008 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:28 #1009 [Debug] > │         let v4 : UH1 = UH1_0(v2, v1)                                         │

23:18:28 #1010 [Debug] > │         method3(v3, v4)                                                      │

23:18:28 #1011 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:28 #1012 [Debug] > │         v1                                                                   │

23:18:28 #1013 [Debug] > │ and method1 (v0 : Mut0, v1 : UH1, v2 : int32) : UH1 =                        │

23:18:28 #1014 [Debug] > │     let v3 : UH0 = v0.l0                                                     │

23:18:28 #1015 [Debug] > │     let v4 : US1 = method2(v2, v3)                                           │

23:18:28 #1016 [Debug] > │     let v12 : US0 =                                                          │

23:18:28 #1017 [Debug] > │         match v4 with                                                        │

23:18:28 #1018 [Debug] > │         | US1_0 -> (* None *)                                                │

23:18:28 #1019 [Debug] > │             printfn $"print_and_return / x: {v2}"                            │

23:18:28 #1020 [Debug] > │             let v7 : UH0 = v0.l0                                             │

23:18:28 #1021 [Debug] > │             let v8 : US0 = US0_1(v2)                                         │

23:18:28 #1022 [Debug] > │             let v9 : UH0 = UH0_0(v2, v8, v7)                                 │

23:18:28 #1023 [Debug] > │             v0.l0 <- v9                                                      │

23:18:28 #1024 [Debug] > │             US0_1(v2)                                                        │

23:18:28 #1025 [Debug] > │         | US1_1(v5, v6) -> (* Some *)                                        │

23:18:28 #1026 [Debug] > │             v6                                                               │

23:18:28 #1027 [Debug] > │     match v12 with                                                           │

23:18:28 #1028 [Debug] > │     | US0_1(v13) -> (* Some *)                                               │

23:18:28 #1029 [Debug] > │         let v14 : bool = v13 < 5                                             │

23:18:28 #1030 [Debug] > │         if v14 then                                                          │

23:18:28 #1031 [Debug] > │             let v15 : UH1 = UH1_0(v13, v1)                                   │

23:18:28 #1032 [Debug] > │             let v16 : int32 = v2 + 1                                         │

23:18:28 #1033 [Debug] > │             method1(v0, v15, v16)                                            │

23:18:28 #1034 [Debug] > │         else                                                                 │

23:18:28 #1035 [Debug] > │             let v18 : UH1 = UH1_1                                            │

23:18:28 #1036 [Debug] > │             method3(v1, v18)                                                 │

23:18:28 #1037 [Debug] > │     | _ ->                                                                   │

23:18:28 #1038 [Debug] > │         let v21 : UH1 = UH1_1                                                │

23:18:28 #1039 [Debug] > │         method3(v1, v21)                                                     │

23:18:28 #1040 [Debug] > │ and method4 (v0 : UH1, v1 : int32) : int32 =                                 │

23:18:28 #1041 [Debug] > │     match v0 with                                                            │

23:18:28 #1042 [Debug] > │     | UH1_0(v2, v3) -> (* Cons *)                                            │

23:18:28 #1043 [Debug] > │         let v4 : int32 = v1 + v2                                             │

23:18:28 #1044 [Debug] > │         method4(v3, v4)                                                      │

23:18:28 #1045 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:18:28 #1046 [Debug] > │         v1                                                                   │

23:18:28 #1047 [Debug] > │ and method5 (v0 : Mut0, v1 : UH1, v2 : int32) : UH1 =                        │

23:18:28 #1048 [Debug] > │     let v3 : UH0 = v0.l0                                                     │

23:18:28 #1049 [Debug] > │     let v4 : US1 = method2(v2, v3)                                           │

23:18:28 #1050 [Debug] > │     let v12 : US0 =                                                          │

23:18:28 #1051 [Debug] > │         match v4 with                                                        │

23:18:28 #1052 [Debug] > │         | US1_0 -> (* None *)                                                │

23:18:28 #1053 [Debug] > │             printfn $"print_and_return / x: {v2}"                            │

23:18:28 #1054 [Debug] > │             let v7 : UH0 = v0.l0                                             │

23:18:28 #1055 [Debug] > │             let v8 : US0 = US0_1(v2)                                         │

23:18:28 #1056 [Debug] > │             let v9 : UH0 = UH0_0(v2, v8, v7)                                 │

23:18:28 #1057 [Debug] > │             v0.l0 <- v9                                                      │

23:18:28 #1058 [Debug] > │             US0_1(v2)                                                        │

23:18:28 #1059 [Debug] > │         | US1_1(v5, v6) -> (* Some *)                                        │

23:18:28 #1060 [Debug] > │             v6                                                               │

23:18:28 #1061 [Debug] > │     match v12 with                                                           │

23:18:28 #1062 [Debug] > │     | US0_1(v13) -> (* Some *)                                               │

23:18:28 #1063 [Debug] > │         let v14 : bool = v13 < 5                                             │

23:18:28 #1064 [Debug] > │         if v14 then                                                          │

23:18:28 #1065 [Debug] > │             let v15 : UH1 = UH1_0(v13, v1)                                   │

23:18:28 #1066 [Debug] > │             let v16 : int32 = v2 + 1                                         │

23:18:28 #1067 [Debug] > │             method5(v0, v15, v16)                                            │

23:18:28 #1068 [Debug] > │         else                                                                 │

23:18:28 #1069 [Debug] > │             let v18 : UH1 = UH1_1                                            │

23:18:28 #1070 [Debug] > │             method3(v1, v18)                                                 │

23:18:28 #1071 [Debug] > │     | _ ->                                                                   │

23:18:28 #1072 [Debug] > │         let v21 : UH1 = UH1_1                                                │

23:18:28 #1073 [Debug] > │         method3(v1, v21)                                                     │

23:18:28 #1074 [Debug] > │ and method0 () : unit =                                                      │

23:18:28 #1075 [Debug] > │     let v0 : UH0 = UH0_1                                                     │

23:18:28 #1076 [Debug] > │     let v1 : Mut0 = {l0 = v0} : Mut0                                         │

23:18:28 #1077 [Debug] > │     let v2 : UH1 = UH1_1                                                     │

23:18:28 #1078 [Debug] > │     let v3 : int32 = 0                                                       │

23:18:28 #1079 [Debug] > │     let v4 : UH1 = method1(v1, v2, v3)                                       │

23:18:28 #1080 [Debug] > │     let v5 : int32 = 0                                                       │

23:18:28 #1081 [Debug] > │     let v6 : int32 = method4(v4, v5)                                         │

23:18:28 #1082 [Debug] > │     let v7 : bool = v6 = 10                                                  │

23:18:28 #1083 [Debug] > │     let v8 : string = $"_equal / actual: %A{v6} / expected: %A{10}"          │

23:18:28 #1084 [Debug] > │     let v9 : bool = v7 = false                                               │

23:18:28 #1085 [Debug] > │     if v9 then                                                               │

23:18:28 #1086 [Debug] > │         failwith<unit> v8                                                    │

23:18:28 #1087 [Debug] > │     let v10 : UH1 = UH1_1                                                    │

23:18:28 #1088 [Debug] > │     let v11 : int32 = 0                                                      │

23:18:28 #1089 [Debug] > │     let v12 : UH1 = method5(v1, v10, v11)                                    │

23:18:28 #1090 [Debug] > │     let v13 : int32 = 0                                                      │

23:18:28 #1091 [Debug] > │     let v14 : int32 = method4(v12, v13)                                      │

23:18:28 #1092 [Debug] > │     let v15 : bool = v14 = 10                                                │

23:18:28 #1093 [Debug] > │     let v16 : string = $"_equal / actual: %A{v14} / expected: %A{10}"        │

23:18:28 #1094 [Debug] > │     let v17 : bool = v15 = false                                             │

23:18:28 #1095 [Debug] > │     if v17 then                                                              │

23:18:28 #1096 [Debug] > │         failwith<unit> v16                                                   │

23:18:28 #1097 [Debug] > │ method0()                                                                    │

23:18:28 #1098 [Debug] > │                                                                              │

23:18:28 #1099 [Debug] > │ print_and_return / x: 0                                                      │

23:18:28 #1100 [Debug] > │ print_and_return / x: 1                                                      │

23:18:28 #1101 [Debug] > │ print_and_return / x: 2                                                      │

23:18:28 #1102 [Debug] > │ print_and_return / x: 3                                                      │

23:18:28 #1103 [Debug] > │ print_and_return / x: 4                                                      │

23:18:28 #1104 [Debug] > │ print_and_return / x: 5                                                      │

23:18:28 #1105 [Debug] > │                                                                              │

23:18:28 #1106 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:28 #1107 [Debug] >

23:18:28 #1108 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:28 #1109 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:28 #1110 [Debug] > │ ## iterate                                                                   │

23:18:28 #1111 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:28 #1112 [Debug] >

23:18:28 #1113 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:28 #1114 [Debug] > inl iterate f x0 num_steps =

23:18:28 #1115 [Debug] >     inl rec loop x n =

23:18:28 #1116 [Debug] >         if n <= 0

23:18:28 #1117 [Debug] >         then x

23:18:28 #1118 [Debug] >         else loop (f x) (n - 1)

23:18:28 #1119 [Debug] >     loop x0 num_steps

23:18:28 #1120 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2860-6027-6c4e17f7bd16\main.spi

23:18:28 #1121 [Debug] >

23:18:28 #1122 [Debug] > ╭─[ 145.25ms - stdout ]────────────────────────────────────────────────────────╮

23:18:28 #1123 [Debug] > │ ()                                                                           │

23:18:28 #1124 [Debug] > │                                                                              │

23:18:28 #1125 [Debug] > │                                                                              │

23:18:28 #1126 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:28 #1127 [Debug] >

23:18:28 #1128 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:28 #1129 [Debug] > // // test

23:18:28 #1130 [Debug] >

23:18:28 #1131 [Debug] > 10i32 |> iterate ((*) 2) 1i32

23:18:28 #1132 [Debug] > |> _equal 1024

23:18:28 #1133 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2874-7481-76a31238b93c\main.spi

23:18:28 #1134 [Debug] >

23:18:28 #1135 [Debug] > ╭─[ 161.06ms - stdout ]────────────────────────────────────────────────────────╮

23:18:28 #1136 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:28 #1137 [Debug] > │     let v0 : string = $"_equal / actual: %A{1024} / expected: %A{1024}"      │

23:18:28 #1138 [Debug] > │     ()                                                                       │

23:18:28 #1139 [Debug] > │ method0()                                                                    │

23:18:28 #1140 [Debug] > │                                                                              │

23:18:28 #1141 [Debug] > │                                                                              │

23:18:28 #1142 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:28 #1143 [Debug] >

23:18:28 #1144 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:28 #1145 [Debug] > inl iterate_ f x0 num_steps =

23:18:28 #1146 [Debug] >     let rec loop x n =

23:18:28 #1147 [Debug] >         if n <= 0

23:18:28 #1148 [Debug] >         then x

23:18:28 #1149 [Debug] >         else loop (f x) (n - 1)

23:18:28 #1150 [Debug] >     loop x0 num_steps

23:18:29 #1151 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2891-9140-9ed14e692c2a\main.spi

23:18:29 #1152 [Debug] >

23:18:29 #1153 [Debug] > ╭─[ 146.65ms - stdout ]────────────────────────────────────────────────────────╮

23:18:29 #1154 [Debug] > │ ()                                                                           │

23:18:29 #1155 [Debug] > │                                                                              │

23:18:29 #1156 [Debug] > │                                                                              │

23:18:29 #1157 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:29 #1158 [Debug] >

23:18:29 #1159 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:29 #1160 [Debug] > // // test

23:18:29 #1161 [Debug] >

23:18:29 #1162 [Debug] > 10i32 |> iterate_ ((*) 2) 1i32

23:18:29 #1163 [Debug] > |> _equal 1024

23:18:29 #1164 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2906-0618-09f21a2aa9c8\main.spi

23:18:29 #1165 [Debug] >

23:18:29 #1166 [Debug] > ╭─[ 150.98ms - stdout ]────────────────────────────────────────────────────────╮

23:18:29 #1167 [Debug] > │ let rec method1 (v0 : int32, v1 : int32) : int32 =                           │

23:18:29 #1168 [Debug] > │     let v2 : bool = v1 <= 0                                                  │

23:18:29 #1169 [Debug] > │     if v2 then                                                               │

23:18:29 #1170 [Debug] > │         v0                                                                   │

23:18:29 #1171 [Debug] > │     else                                                                     │

23:18:29 #1172 [Debug] > │         let v3 : int32 = 2 * v0                                              │

23:18:29 #1173 [Debug] > │         let v4 : int32 = v1 - 1                                              │

23:18:29 #1174 [Debug] > │         method1(v3, v4)                                                      │

23:18:29 #1175 [Debug] > │ and method0 () : unit =                                                      │

23:18:29 #1176 [Debug] > │     let v0 : int32 = 1                                                       │

23:18:29 #1177 [Debug] > │     let v1 : int32 = 10                                                      │

23:18:29 #1178 [Debug] > │     let v2 : int32 = method1(v0, v1)                                         │

23:18:29 #1179 [Debug] > │     let v3 : bool = v2 = 1024                                                │

23:18:29 #1180 [Debug] > │     let v4 : string = $"_equal / actual: %A{v2} / expected: %A{1024}"        │

23:18:29 #1181 [Debug] > │     let v5 : bool = v3 = false                                               │

23:18:29 #1182 [Debug] > │     if v5 then                                                               │

23:18:29 #1183 [Debug] > │         failwith<unit> v4                                                    │

23:18:29 #1184 [Debug] > │ method0()                                                                    │

23:18:29 #1185 [Debug] > │                                                                              │

23:18:29 #1186 [Debug] > │                                                                              │

23:18:29 #1187 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:29 #1188 [Debug] >

23:18:29 #1189 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:29 #1190 [Debug] > inl iterate' f x0 num_steps =

23:18:29 #1191 [Debug] >     listm.init num_steps id

23:18:29 #1192 [Debug] >     |> listm.fold (fun x _ => f x) x0

23:18:29 #1193 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2922-2232-2716bc1215a6\main.spi

23:18:29 #1194 [Debug] >

23:18:29 #1195 [Debug] > ╭─[ 131.18ms - stdout ]────────────────────────────────────────────────────────╮

23:18:29 #1196 [Debug] > │ ()                                                                           │

23:18:29 #1197 [Debug] > │                                                                              │

23:18:29 #1198 [Debug] > │                                                                              │

23:18:29 #1199 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:29 #1200 [Debug] >

23:18:29 #1201 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:29 #1202 [Debug] > // // test

23:18:29 #1203 [Debug] >

23:18:29 #1204 [Debug] > 10i32 |> iterate' ((*) 2) 1i32

23:18:29 #1205 [Debug] > |> _equal 1024

23:18:29 #1206 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2935-3582-344e53cb19a8\main.spi

23:18:29 #1207 [Debug] >

23:18:29 #1208 [Debug] > ╭─[ 146.88ms - stdout ]────────────────────────────────────────────────────────╮

23:18:29 #1209 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:29 #1210 [Debug] > │     let v0 : string = $"_equal / actual: %A{1024} / expected: %A{1024}"      │

23:18:29 #1211 [Debug] > │     ()                                                                       │

23:18:29 #1212 [Debug] > │ method0()                                                                    │

23:18:29 #1213 [Debug] > │                                                                              │

23:18:29 #1214 [Debug] > │                                                                              │

23:18:29 #1215 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:31 #1216 [Debug] > [NbConvertApp] Converting notebook seq.dib.ipynb to html

23:18:31 #1217 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:18:31 #1218 [Debug] >   validate(nb)

23:18:32 #1219 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:18:32 #1220 [Debug] >   return _pygments_highlight(

23:18:32 #1221 [Debug] > [NbConvertApp] Writing 351055 bytes to seq.dib.html

23:18:33 #1222 [Debug] executeAsync / exitCode: 0 / proc.Id: 42220 / output.Length: 77905

23:18:33 #1223 [Debug] main / executeCommand / exitCode: 0

23:18:34 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:18:34 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:18:34 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:18:34 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:18:35 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:18:35 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:18:35 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:18:35 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:18:35 #9 [Debug] > Server bound to: http://localhost:13805

23:18:35 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 util.dib""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:18:38 #11 [Debug] >

23:18:38 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:38 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:38 #14 [Debug] > │ # util                                                                       │

23:18:38 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:38 #16 [Debug] >

23:18:38 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:38 #18 [Debug] > // // test

23:18:38 #19 [Debug] >

23:18:38 #20 [Debug] > open testing

23:18:42 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-4134-3488-32c853a33c04\main.spi

23:18:44 #22 [Debug] >

23:18:44 #23 [Debug] > ╭─[ 6.13s - stdout ]───────────────────────────────────────────────────────────╮

23:18:44 #24 [Debug] > │ ()                                                                           │

23:18:44 #25 [Debug] > │                                                                              │

23:18:44 #26 [Debug] > │                                                                              │

23:18:44 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:44 #28 [Debug] >

23:18:44 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:44 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:44 #31 [Debug] > │ ## ski                                                                       │

23:18:44 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:44 #33 [Debug] >

23:18:44 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:44 #35 [Debug] > union rec ski =

23:18:44 #36 [Debug] >     | I

23:18:44 #37 [Debug] >     | K

23:18:44 #38 [Debug] >     | S

23:18:44 #39 [Debug] >     | App : ski * ski

23:18:44 #40 [Debug] >

23:18:44 #41 [Debug] > inl rec eval ski =

23:18:44 #42 [Debug] >     match ski with

23:18:44 #43 [Debug] >     | App (App (K, x), y) => eval x

23:18:44 #44 [Debug] >     | App (App (App (S, x), y), z) => eval (App (App (x, z), App (y, z)))

23:18:44 #45 [Debug] >     | App (I, x) => eval x

23:18:44 #46 [Debug] >     | App (K, x) => App (K, eval x)

23:18:44 #47 [Debug] >     | App (f, x) => eval (App (eval f, x))

23:18:44 #48 [Debug] >     | _ => ski

23:18:45 #49 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-4492-9296-9baae5c264d0\main.spi

23:18:45 #50 [Debug] >

23:18:45 #51 [Debug] > ╭─[ 207.06ms - stdout ]────────────────────────────────────────────────────────╮

23:18:45 #52 [Debug] > │ ()                                                                           │

23:18:45 #53 [Debug] > │                                                                              │

23:18:45 #54 [Debug] > │                                                                              │

23:18:45 #55 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:45 #56 [Debug] >

23:18:45 #57 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:18:45 #58 [Debug] > // // test

23:18:45 #59 [Debug] >

23:18:45 #60 [Debug] > eval I

23:18:45 #61 [Debug] > |> _equal I

23:18:45 #62 [Debug] >

23:18:45 #63 [Debug] > eval (App (I, I))

23:18:45 #64 [Debug] > |> _equal I

23:18:45 #65 [Debug] >

23:18:45 #66 [Debug] > eval (App (I, App (I, I)))

23:18:45 #67 [Debug] > |> _equal I

23:18:45 #68 [Debug] >

23:18:45 #69 [Debug] > eval (App (App (I, I), I))

23:18:45 #70 [Debug] > |> _equal I

23:18:45 #71 [Debug] >

23:18:45 #72 [Debug] > eval (App (App (App (I, I), I), I))

23:18:45 #73 [Debug] > |> _equal I

23:18:45 #74 [Debug] >

23:18:45 #75 [Debug] > eval K

23:18:45 #76 [Debug] > |> _equal K

23:18:45 #77 [Debug] >

23:18:45 #78 [Debug] > eval (App (K, I))

23:18:45 #79 [Debug] > |> _equal (App (K, I))

23:18:45 #80 [Debug] >

23:18:45 #81 [Debug] > eval (App (K, K))

23:18:45 #82 [Debug] > |> _equal (App (K, K))

23:18:45 #83 [Debug] >

23:18:45 #84 [Debug] > eval (App (App (K, I), K))

23:18:45 #85 [Debug] > |> _equal I

23:18:45 #86 [Debug] >

23:18:45 #87 [Debug] > eval (App (App (K, K), I))

23:18:45 #88 [Debug] > |> _equal K

23:18:45 #89 [Debug] >

23:18:45 #90 [Debug] > eval (App (App (App (App (K, K), I), S), K))

23:18:45 #91 [Debug] > |> _equal S

23:18:45 #92 [Debug] >

23:18:45 #93 [Debug] > eval S

23:18:45 #94 [Debug] > |> _equal S

23:18:45 #95 [Debug] >

23:18:45 #96 [Debug] > eval (App (App (App (S, I), I), I))

23:18:45 #97 [Debug] > |> _equal I

23:18:45 #98 [Debug] >

23:18:45 #99 [Debug] > eval (App (App (App (S, K), K), I))

23:18:45 #100 [Debug] > |> _equal I

23:18:45 #101 [Debug] >

23:18:45 #102 [Debug] > eval (App (App (App (S, K), I), (App (App (K, I), S))))

23:18:45 #103 [Debug] > |> _equal I

23:18:45 #104 [Debug] >

23:18:45 #105 [Debug] > eval (App (App (K, S), App (I, App (App (App (S, K), S), I))))

23:18:45 #106 [Debug] > |> _equal S

23:18:45 #107 [Debug] >

23:18:45 #108 [Debug] > eval (App (App (App (S, K), I), K))

23:18:45 #109 [Debug] > |> _equal K

23:18:45 #110 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-4513-1309-1a8d635d4281\main.spi

23:18:46 #111 [Debug] >

23:18:46 #112 [Debug] > ╭─[ 1.48s - stdout ]───────────────────────────────────────────────────────────╮

23:18:46 #113 [Debug] > │ type UH0 =                                                                   │

23:18:46 #114 [Debug] > │     | UH0_0 of UH0 * UH0                                                     │

23:18:46 #115 [Debug] > │     | UH0_1                                                                  │

23:18:46 #116 [Debug] > │     | UH0_2                                                                  │

23:18:46 #117 [Debug] > │     | UH0_3                                                                  │

23:18:46 #118 [Debug] > │ let rec method0 () : unit =                                                  │

23:18:46 #119 [Debug] > │     let v3 : UH0 = UH0_1                                                     │

23:18:46 #120 [Debug] > │     let v4 : UH0 = UH0_1                                                     │

23:18:46 #121 [Debug] > │     let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}"          │

23:18:46 #122 [Debug] > │     let v9 : UH0 = UH0_1                                                     │

23:18:46 #123 [Debug] > │     let v10 : UH0 = UH0_1                                                    │

23:18:46 #124 [Debug] > │     let v11 : string = $"_equal / actual: %A{v9} / expected: %A{v10}"        │

23:18:46 #125 [Debug] > │     let v15 : UH0 = UH0_1                                                    │

23:18:46 #126 [Debug] > │     let v16 : UH0 = UH0_1                                                    │

23:18:46 #127 [Debug] > │     let v17 : string = $"_equal / actual: %A{v15} / expected: %A{v16}"       │

23:18:46 #128 [Debug] > │     let v21 : UH0 = UH0_1                                                    │

23:18:46 #129 [Debug] > │     let v22 : UH0 = UH0_1                                                    │

23:18:46 #130 [Debug] > │     let v23 : string = $"_equal / actual: %A{v21} / expected: %A{v22}"       │

23:18:46 #131 [Debug] > │     let v27 : UH0 = UH0_1                                                    │

23:18:46 #132 [Debug] > │     let v28 : UH0 = UH0_1                                                    │

23:18:46 #133 [Debug] > │     let v29 : string = $"_equal / actual: %A{v27} / expected: %A{v28}"       │

23:18:46 #134 [Debug] > │     let v33 : UH0 = UH0_2                                                    │

23:18:46 #135 [Debug] > │     let v34 : UH0 = UH0_2                                                    │

23:18:46 #136 [Debug] > │     let v35 : string = $"_equal / actual: %A{v33} / expected: %A{v34}"       │

23:18:46 #137 [Debug] > │     let v47 : UH0 = UH0_2                                                    │

23:18:46 #138 [Debug] > │     let v48 : UH0 = UH0_1                                                    │

23:18:46 #139 [Debug] > │     let v49 : UH0 = UH0_0(v47, v48)                                          │

23:18:46 #140 [Debug] > │     let v50 : UH0 = UH0_2                                                    │

23:18:46 #141 [Debug] > │     let v51 : UH0 = UH0_1                                                    │

23:18:46 #142 [Debug] > │     let v52 : UH0 = UH0_0(v50, v51)                                          │

23:18:46 #143 [Debug] > │     let v53 : string = $"_equal / actual: %A{v49} / expected: %A{v52}"       │

23:18:46 #144 [Debug] > │     let v65 : UH0 = UH0_2                                                    │

23:18:46 #145 [Debug] > │     let v66 : UH0 = UH0_2                                                    │

23:18:46 #146 [Debug] > │     let v67 : UH0 = UH0_0(v65, v66)                                          │

23:18:46 #147 [Debug] > │     let v68 : UH0 = UH0_2                                                    │

23:18:46 #148 [Debug] > │     let v69 : UH0 = UH0_2                                                    │

23:18:46 #149 [Debug] > │     let v70 : UH0 = UH0_0(v68, v69)                                          │

23:18:46 #150 [Debug] > │     let v71 : string = $"_equal / actual: %A{v67} / expected: %A{v70}"       │

23:18:46 #151 [Debug] > │     let v75 : UH0 = UH0_1                                                    │

23:18:46 #152 [Debug] > │     let v76 : UH0 = UH0_1                                                    │

23:18:46 #153 [Debug] > │     let v77 : string = $"_equal / actual: %A{v75} / expected: %A{v76}"       │

23:18:46 #154 [Debug] > │     let v81 : UH0 = UH0_2                                                    │

23:18:46 #155 [Debug] > │     let v82 : UH0 = UH0_2                                                    │

23:18:46 #156 [Debug] > │     let v83 : string = $"_equal / actual: %A{v81} / expected: %A{v82}"       │

23:18:46 #157 [Debug] > │     let v87 : UH0 = UH0_3                                                    │

23:18:46 #158 [Debug] > │     let v88 : UH0 = UH0_3                                                    │

23:18:46 #159 [Debug] > │     let v89 : string = $"_equal / actual: %A{v87} / expected: %A{v88}"       │

23:18:46 #160 [Debug] > │     let v93 : UH0 = UH0_3                                                    │

23:18:46 #161 [Debug] > │     let v94 : UH0 = UH0_3                                                    │

23:18:46 #162 [Debug] > │     let v95 : string = $"_equal / actual: %A{v93} / expected: %A{v94}"       │

23:18:46 #163 [Debug] > │     let v99 : UH0 = UH0_1                                                    │

23:18:46 #164 [Debug] > │     let v100 : UH0 = UH0_1                                                   │

23:18:46 #165 [Debug] > │     let v101 : string = $"_equal / actual: %A{v99} / expected: %A{v100}"     │

23:18:46 #166 [Debug] > │     let v105 : UH0 = UH0_1                                                   │

23:18:46 #167 [Debug] > │     let v106 : UH0 = UH0_1                                                   │

23:18:46 #168 [Debug] > │     let v107 : string = $"_equal / actual: %A{v105} / expected: %A{v106}"    │

23:18:46 #169 [Debug] > │     let v111 : UH0 = UH0_1                                                   │

23:18:46 #170 [Debug] > │     let v112 : UH0 = UH0_1                                                   │

23:18:46 #171 [Debug] > │     let v113 : string = $"_equal / actual: %A{v111} / expected: %A{v112}"    │

23:18:46 #172 [Debug] > │     let v117 : UH0 = UH0_3                                                   │

23:18:46 #173 [Debug] > │     let v118 : UH0 = UH0_3                                                   │

23:18:46 #174 [Debug] > │     let v119 : string = $"_equal / actual: %A{v117} / expected: %A{v118}"    │

23:18:46 #175 [Debug] > │     let v123 : UH0 = UH0_2                                                   │

23:18:46 #176 [Debug] > │     let v124 : UH0 = UH0_2                                                   │

23:18:46 #177 [Debug] > │     let v125 : string = $"_equal / actual: %A{v123} / expected: %A{v124}"    │

23:18:46 #178 [Debug] > │     ()                                                                       │

23:18:46 #179 [Debug] > │ method0()                                                                    │

23:18:46 #180 [Debug] > │                                                                              │

23:18:46 #181 [Debug] > │                                                                              │

23:18:46 #182 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:48 #183 [Debug] > [NbConvertApp] Converting notebook util.dib.ipynb to html

23:18:48 #184 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:18:48 #185 [Debug] >   validate(nb)

23:18:49 #186 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:18:49 #187 [Debug] >   return _pygments_highlight(

23:18:49 #188 [Debug] > [NbConvertApp] Writing 285538 bytes to util.dib.html

23:18:50 #189 [Debug] executeAsync / exitCode: 0 / proc.Id: 73672 / output.Length: 9299

23:18:50 #190 [Debug] main / executeCommand / exitCode: 0

23:18:50 #1 [Debug] runWithTimeoutAsync / timeout: 60

23:18:51 #2 [Debug] executeAsync / options: { Command =

   "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = Some <fun:main@437-1018> }

23:18:51 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral

23:18:51 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release

23:18:51 #5 [Debug] runWithTimeoutAsync / timeout: 500

23:18:51 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0

23:18:52 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:

23:18:52 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0

23:18:52 #9 [Debug] > Server bound to: http://localhost:13805

23:18:52 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 physics.dib""

  WorkingDirectory = None

  CancellationToken = Some System.Threading.CancellationToken

  OnLine = None }

23:18:55 #11 [Debug] >

23:18:55 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:18:55 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:18:55 #14 [Debug] > │ # physics                                                                    │

23:18:55 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:18:55 #16 [Debug] >

23:18:55 #17 [Debug] > ── fsharp ──────────────────────────────────────────────────────────────────────

23:18:55 #18 [Debug] > #!import ../nbs/Plotting.dib

23:18:55 #19 [Debug] >

23:18:55 #20 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:18:55 #21 [Debug] > #r

23:18:55 #22 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

23:18:55 #23 [Debug] > spNetCore.Html.Abstractions.dll"

23:18:55 #24 [Debug] > #r

23:18:55 #25 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

23:18:55 #26 [Debug] > otNet.Interactive.dll"

23:18:55 #27 [Debug] > #r

23:18:55 #28 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

23:18:55 #29 [Debug] > otNet.Interactive.FSharp.dll"

23:18:55 #30 [Debug] > #r

23:18:55 #31 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

23:18:55 #32 [Debug] > otNet.Interactive.Formatting.dll"

23:18:55 #33 [Debug] > open System

23:18:55 #34 [Debug] > open System.IO

23:18:55 #35 [Debug] > open System.Text

23:18:55 #36 [Debug] > open Microsoft.DotNet.Interactive.Formatting

23:18:58 #37 [Debug] >

23:18:58 #38 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:18:58 #39 [Debug] > #r

23:18:58 #40 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

23:18:58 #41 [Debug] > otNet.Interactive.FSharp.dll"

23:18:58 #42 [Debug] > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

23:18:58 #43 [Debug] > #r

23:18:58 #44 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

23:18:58 #45 [Debug] > otNet.Interactive.dll"

23:18:58 #46 [Debug] > open type Microsoft.DotNet.Interactive.Kernel

23:18:59 #47 [Debug] >

23:18:59 #48 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:18:59 #49 [Debug] > //// test

23:18:59 #50 [Debug] >

23:18:59 #51 [Debug] > Formatter.ListExpansionLimit <- 100

23:18:59 #52 [Debug] >

23:18:59 #53 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:18:59 #54 [Debug] > #r

23:18:59 #55 [Debug] > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan

23:18:59 #56 [Debug] > dard2.1/FSharp.Control.AsyncSeq.dll"

23:18:59 #57 [Debug] > #r

23:18:59 #58 [Debug] > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.

23:18:59 #59 [Debug] > 0/System.Reactive.dll"

23:18:59 #60 [Debug] > #r

23:18:59 #61 [Debug] > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib

23:18:59 #62 [Debug] > netstandard2.0/System.Reactive.Linq.dll"

23:18:59 #63 [Debug] > #r

23:18:59 #64 [Debug] > @"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"

23:18:59 #65 [Debug] > #r

23:18:59 #66 [Debug] > @"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li

23:18:59 #67 [Debug] > b/net6.0/System.CommandLine.dll"

23:18:59 #68 [Debug] > #r

23:18:59 #69 [Debug] > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha

23:18:59 #70 [Debug] > rp.Json.dll"

23:18:59 #71 [Debug] >

23:18:59 #72 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:18:59 #73 [Debug] > #if !INTERACTIVE

23:18:59 #74 [Debug] > namespace Polyglot

23:18:59 #75 [Debug] > #endif

23:18:59 #76 [Debug] >

23:18:59 #77 [Debug] > module Common =

23:18:59 #78 [Debug] >

23:18:59 #79 [Debug] >     let nl = System.Environment.NewLine

23:18:59 #80 [Debug] >     let q = @""""

23:18:59 #81 [Debug] >

23:18:59 #82 [Debug] >     let inline cons head tail = head :: tail

23:18:59 #83 [Debug] >

23:18:59 #84 [Debug] >     module String =

23:18:59 #85 [Debug] >         let inline contains (value : string) (input : string) =

23:18:59 #86 [Debug] >             input.Contains value

23:18:59 #87 [Debug] >

23:18:59 #88 [Debug] >         let inline endsWith (value : string) (input : string) =

23:18:59 #89 [Debug] >             input.EndsWith value

23:18:59 #90 [Debug] >

23:18:59 #91 [Debug] >         let inline padLeft totalWidth paddingChar (input : string) =

23:18:59 #92 [Debug] >             input.PadLeft (totalWidth, paddingChar)

23:18:59 #93 [Debug] >

23:18:59 #94 [Debug] >         let inline replace (oldValue : string) (newValue : string) (input :

23:18:59 #95 [Debug] > string) =

23:18:59 #96 [Debug] >             input.Replace (oldValue, newValue)

23:18:59 #97 [Debug] >

23:18:59 #98 [Debug] >         let inline split separator (input : string) =

23:18:59 #99 [Debug] >             input.Split separator

23:18:59 #100 [Debug] >

23:18:59 #101 [Debug] >         let inline spli...

23:19:01 #102 [Debug] >

23:19:01 #103 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:01 #104 [Debug] > #if !INTERACTIVE

23:19:01 #105 [Debug] > namespace Polyglot

23:19:01 #106 [Debug] > #endif

23:19:01 #107 [Debug] >

23:19:01 #108 [Debug] > module CommonFSharp =

23:19:01 #109 [Debug] >

23:19:01 #110 [Debug] >     open Common

23:19:01 #111 [Debug] >

23:19:01 #112 [Debug] >     /// ## getUnionCaseName

23:19:01 #113 [Debug] >

23:19:01 #114 [Debug] >     let inline getUnionCaseName<'T> (x: 'T) =

23:19:01 #115 [Debug] >         match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with

23:19:01 #116 [Debug] >         | case, _ -> case.Name

23:19:01 #117 [Debug] >

23:19:01 #118 [Debug] >

23:19:01 #119 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:01 #120 [Debug] > #if !INTERACTIVE

23:19:01 #121 [Debug] > namespace Polyglot

23:19:01 #122 [Debug] > #endif

23:19:01 #123 [Debug] >

23:19:01 #124 [Debug] > module Crypto =

23:19:01 #125 [Debug] >

23:19:01 #126 [Debug] >     open Common

23:19:01 #127 [Debug] >

23:19:01 #128 [Debug] >     /// ## hashText

23:19:01 #129 [Debug] >

23:19:01 #130 [Debug] >     let hashText (input : string) =

23:19:01 #131 [Debug] >         use sha256 = System.Security.Cryptography.SHA256.Create ()

23:19:01 #132 [Debug] >         input

23:19:01 #133 [Debug] >         |> System.Text.Encoding.UTF8.GetBytes

23:19:01 #134 [Debug] >         |> sha256.ComputeHash

23:19:01 #135 [Debug] >         |> Array.map (fun b -> b.ToString "x2")

23:19:01 #136 [Debug] >         |> String.concat ""

23:19:01 #137 [Debug] >

23:19:01 #138 [Debug] >

23:19:01 #139 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:01 #140 [Debug] > #if !INTERACTIVE

23:19:01 #141 [Debug] > namespace Polyglot

23:19:01 #142 [Debug] > #endif

23:19:01 #143 [Debug] >

23:19:01 #144 [Debug] > module Async =

23:19:01 #145 [Debug] >

23:19:01 #146 [Debug] >     open Common

23:19:01 #147 [Debug] >

23:19:01 #148 [Debug] >     /// ## choice

23:19:01 #149 [Debug] >

23:19:01 #150 [Debug] >     let inline choice asyncs = async {

23:19:01 #151 [Debug] >         let e = Event<_> ()

23:19:01 #152 [Debug] >         use cts = new System.Threading.CancellationTokenSource ()

23:19:01 #153 [Debug] >         let fn =

23:19:01 #154 [Debug] >             asyncs

23:19:01 #155 [Debug] >             |> Seq.map (fun a -> async {

23:19:01 #156 [Debug] >                 let! x = a

23:19:01 #157 [Debug] >                 e.Trigger x

23:19:01 #158 [Debug] >             })

23:19:01 #159 [Debug] >             |> Async.Parallel

23:19:01 #160 [Debug] >             |> Async.Ignore

23:19:01 #161 [Debug] >         Async.Start (fn, cts.Token)

23:19:01 #162 [Debug] >         let! result = Async.AwaitEvent e.Publish

23:19:01 #163 [Debug] >         cts.Cancel ()

23:19:01 #164 [Debug] >         return result

23:19:01 #165 [Debug] >     }

23:19:01 #166 [Debug] >

23:19:01 #167 [Debug] >     /// ## map

23:19:01 #168 [Debug] >

23:19:01 #169 [Debug] >     let inline map fn a = async {

23:19:01 #170 [Debug] >         let! x = a

23:19:01 #171 [Debug] >         return fn x

23:19:01 #172 [Debug] >     }

23:19:01 #173 [Debug] >

23:19:01 #174 [Debug] >     /// ## catch

23:19:01 #175 [Debug] >

23:19:01 #176 [Debug] >     let inline catch a =

23:19:01 #177 [Debug] >         a

23:19:01 #178 [Debug] >         |> Async.Catch

23:19:01 #179 [Debug] >         ...

23:19:01 #180 [Debug] >

23:19:01 #181 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:01 #182 [Debug] > #if !INTERACTIVE

23:19:01 #183 [Debug] > namespace Polyglot

23:19:01 #184 [Debug] > #endif

23:19:01 #185 [Debug] >

23:19:01 #186 [Debug] > module AsyncSeq =

23:19:01 #187 [Debug] >

23:19:01 #188 [Debug] >     open Common

23:19:01 #189 [Debug] >

23:19:01 #190 [Debug] >     /// ## subscribeEvent

23:19:01 #191 [Debug] >

23:19:01 #192 [Debug] >     let inline subscribeEvent (event: IEvent<'H, 'A>) map =

23:19:01 #193 [Debug] >         let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,

23:19:01 #194 [Debug] > 'A>(event.AddHandler, event.RemoveHandler)

23:19:01 #195 [Debug] >         System.Reactive.Linq.Observable.Select (observable, fun event -> map

23:19:01 #196 [Debug] > event.EventArgs)

23:19:01 #197 [Debug] >         |> FSharp.Control.AsyncSeq.ofObservableBuffered

23:19:01 #198 [Debug] >

23:19:01 #199 [Debug] >     let subscribeToken (token : System.Threading.CancellationToken) =

23:19:01 #200 [Debug] >         let tcs = new System.Threading.Tasks.TaskCompletionSource ()

23:19:01 #201 [Debug] >         System.Action tcs.SetResult |> token.Register |> ignore

23:19:01 #202 [Debug] >         let start = System.DateTime.Now.Ticks

23:19:01 #203 [Debug] >         FSharp.Control.AsyncSeq.unfoldAsync

23:19:01 #204 [Debug] >             (fun (...

23:19:02 #205 [Debug] >

23:19:02 #206 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:02 #207 [Debug] > #if !INTERACTIVE

23:19:02 #208 [Debug] > namespace Polyglot

23:19:02 #209 [Debug] > #endif

23:19:02 #210 [Debug] >

23:19:02 #211 [Debug] > module Networking =

23:19:02 #212 [Debug] >

23:19:02 #213 [Debug] >     open Common

23:19:02 #214 [Debug] >

23:19:02 #215 [Debug] >     /// ## testPortOpen

23:19:02 #216 [Debug] >

23:19:02 #217 [Debug] >     let inline testPortOpen port = async {

23:19:02 #218 [Debug] >         let! ct = Async.CancellationToken

23:19:02 #219 [Debug] >         use client = new System.Net.Sockets.TcpClient ()

23:19:02 #220 [Debug] >         try

23:19:02 #221 [Debug] >             do! client.ConnectAsync ("127.0.0.1", port, ct) |>

23:19:02 #222 [Debug] > Async.awaitValueTaskUnit

23:19:02 #223 [Debug] >             return true

23:19:02 #224 [Debug] >         with ex ->

23:19:02 #225 [Debug] >             trace Verbose (fun () -> $"testPortOpen / ex: {ex |>

23:19:02 #226 [Debug] > printException}") getLocals

23:19:02 #227 [Debug] >             return false

23:19:02 #228 [Debug] >     }

23:19:02 #229 [Debug] >

23:19:02 #230 [Debug] >     let inline testPortOpenTimeout timeout port = async {

23:19:02 #231 [Debug] >         let! result =

23:19:02 #232 [Debug] >             testPortOpen port

23:19:02 #233 [Debug] >             |> Async.runWithTimeoutAsync timeout

23:19:02 #234 [Debug] >         return

23:19:02 #235 [Debug] >             match result with

23:19:02 #236 [Debug] >             | None -> false

23:19:02 #237 [Debug] >  ...

23:19:02 #238 [Debug] >

23:19:02 #239 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:02 #240 [Debug] > #if !INTERACTIVE

23:19:02 #241 [Debug] > namespace Polyglot

23:19:02 #242 [Debug] > #endif

23:19:02 #243 [Debug] >

23:19:02 #244 [Debug] > module Runtime =

23:19:02 #245 [Debug] >

23:19:02 #246 [Debug] >     open Common

23:19:02 #247 [Debug] >

23:19:02 #248 [Debug] >     /// ## isWindows

23:19:02 #249 [Debug] >

23:19:02 #250 [Debug] >     let isWindows =

23:19:02 #251 [Debug] >         fun () ->

23:19:02 #252 [Debug] >             System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform

23:19:02 #253 [Debug] >                 System.Runtime.InteropServices.OSPlatform.Windows

23:19:02 #254 [Debug] >         |> memoize

23:19:02 #255 [Debug] >

23:19:02 #256 [Debug] >     /// ## getExecutableSuffix

23:19:02 #257 [Debug] >

23:19:02 #258 [Debug] >     let inline getExecutableSuffix () =

23:19:02 #259 [Debug] >         if isWindows ()

23:19:02 #260 [Debug] >         then ".exe"

23:19:02 #261 [Debug] >         else ""

23:19:02 #262 [Debug] >

23:19:02 #263 [Debug] >     /// ## splitCommand

23:19:02 #264 [Debug] >

23:19:02 #265 [Debug] >     type private CommandParseStep =

23:19:02 #266 [Debug] >         | Start

23:19:02 #267 [Debug] >         | Path of quoted: bool

23:19:02 #268 [Debug] >         | Arguments

23:19:02 #269 [Debug] >

23:19:02 #270 [Debug] >     let splitCommand (command: string) =

23:19:02 #271 [Debug] >         let rec loop (path, args) chars step =

23:19:02 #272 [Debug] >             match chars, step with

23:19:02 #273 [Debug] >             | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...

23:19:03 #274 [Debug] >

23:19:03 #275 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:03 #276 [Debug] > #if !INTERACTIVE

23:19:03 #277 [Debug] > namespace Polyglot

23:19:03 #278 [Debug] > #endif

23:19:03 #279 [Debug] >

23:19:03 #280 [Debug] > module FileSystem =

23:19:03 #281 [Debug] >

23:19:03 #282 [Debug] >     open Common

23:19:03 #283 [Debug] >

23:19:03 #284 [Debug] >     /// ## Operators

23:19:03 #285 [Debug] >

23:19:03 #286 [Debug] >     module Operators =

23:19:03 #287 [Debug] >         let inline (</>) a b =

23:19:03 #288 [Debug] >             System.IO.Path.Combine (a, b)

23:19:03 #289 [Debug] >

23:19:03 #290 [Debug] >     open Operators

23:19:03 #291 [Debug] >

23:19:03 #292 [Debug] >     /// ## createTempDirectoryName

23:19:03 #293 [Debug] >

23:19:03 #294 [Debug] >     let inline createTempDirectoryName () =

23:19:03 #295 [Debug] >         let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name

23:19:03 #296 [Debug] >

23:19:03 #297 [Debug] >         System.IO.Path.GetTempPath ()

23:19:03 #298 [Debug] >         </> $"!{root}"

23:19:03 #299 [Debug] >         </> string (newGuidFromDateTime System.DateTime.Now)

23:19:03 #300 [Debug] >

23:19:03 #301 [Debug] >     /// ## createTempDirectory

23:19:03 #302 [Debug] >

23:19:03 #303 [Debug] >     let inline createTempDirectory () =

23:19:03 #304 [Debug] >         let tempFolder = createTempDirectoryName ()

23:19:03 #305 [Debug] >         let result = System.IO.Directory.CreateDirectory tempFolder

23:19:03 #306 [Debug] >

23:19:03 #307 [Debug] >         let getLocals () =

23:19:03 #308 [Debug] >             $"tempFolder:...

23:19:06 #309 [Debug] >

23:19:06 #310 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:06 #311 [Debug] > open Common

23:19:06 #312 [Debug] > open FileSystem.Operators

23:19:06 #313 [Debug] >

23:19:06 #314 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────

23:19:06 #315 [Debug] > let tmpSpiralPath = Path.GetTempPath () </> "!dotnet-interactive-spiral"

23:19:06 #316 [Debug] > let linePlotsDataPath = tmpSpiralPath </> "line-plots-data"

23:19:06 #317 [Debug] > let linePlotsSvgPath = tmpSpiralPath </> "line-plots-svg"

23:19:06 #318 [Debug] >

23:19:06 #319 [Debug] > [[ tmpSpiralPath; linePlotsDataPath; linePlotsSvgPath ]]

23:19:06 #320 [Debug] > |> List.iter (fun dir -> if Directory.Exists dir |> not then

23:19:06 #321 [Debug] > Directory.CreateDirectory dir |> ignore)

23:19:06 #322 [Debug] >

23:19:06 #323 [Debug] > Formatter.Register<struct (string * string * string * struct (string * float

23:19:06 #324 [Debug] > array * float array) array)> (

23:19:06 #325 [Debug] >     (fun struct (caption, x_desc, y_desc, ys) ->

23:19:06 #326 [Debug] >         let json = (caption, x_desc, y_desc, ys) |> FSharp.Json.Json.serialize

23:19:06 #327 [Debug] >         async {

23:19:06 #328 [Debug] >             let hashHex = json |> Crypto.hashText

23:19:06 #329 [Debug] >             let svgPath = linePlotsSvgPath </> $"{hashHex}.svg"

23:19:06 #330 [Debug] >

23:19:06 #331 [Debug] >             if System.IO.File.Exi...

23:19:06 #332 [Debug] >

23:19:06 #333 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:06 #334 [Debug] > // // test

23:19:06 #335 [Debug] >

23:19:06 #336 [Debug] > open testing

23:19:08 #337 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-0759-5909-563354c312fa\main.spi

23:19:09 #338 [Debug] >

23:19:09 #339 [Debug] > ╭─[ 2.58s - stdout ]───────────────────────────────────────────────────────────╮

23:19:09 #340 [Debug] > │ ()                                                                           │

23:19:09 #341 [Debug] > │                                                                              │

23:19:09 #342 [Debug] > │                                                                              │

23:19:09 #343 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:09 #344 [Debug] >

23:19:09 #345 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:09 #346 [Debug] > inl (/@) x = listm'.(/@) x

23:19:09 #347 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-0952-5247-5611f57b090a\main.spi

23:19:09 #348 [Debug] >

23:19:09 #349 [Debug] > ╭─[ 180.17ms - stdout ]────────────────────────────────────────────────────────╮

23:19:09 #350 [Debug] > │ ()                                                                           │

23:19:09 #351 [Debug] > │                                                                              │

23:19:09 #352 [Debug] > │                                                                              │

23:19:09 #353 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:09 #354 [Debug] >

23:19:09 #355 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:09 #356 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:09 #357 [Debug] > │ ## init_series                                                               │

23:19:09 #358 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:09 #359 [Debug] >

23:19:09 #360 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:09 #361 [Debug] > // // test

23:19:09 #362 [Debug] >

23:19:09 #363 [Debug] > inl x : a _ f64 = am'.init_series -3 3 0.01

23:19:09 #364 [Debug] > inl y = x |> am.map math.square

23:19:09 #365 [Debug] > "square", "x", "y", ;[[ "square", x, y ]]

23:19:09 #366 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-0970-7042-71a5d8569e64\main.spi

23:19:10 #367 [Debug] >

23:19:10 #368 [Debug] > ╭─[ 398.70ms - return value ]──────────────────────────────────────────────────╮

23:19:10 #369 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:10 #370 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:10 #371 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:10 #372 [Debug] > │ stroke="none"/>                                                              │

23:19:10 #373 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:10 #374 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #375 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #376 [Debug] > │ square                                                                       │

23:19:10 #377 [Debug] > │ </text>                                                                      │

23:19:10 #378 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │

23:19:10 #379 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #380 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:10 #381 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #382 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │

23:19:10 #383 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #384 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │

23:19:10 #385 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #386 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │

23:19:10 #387 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #388 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424"        │

23:19:10 #389 [Debug] > │ x2="103" y2="75"/>                                                           │

23:19:10 #390 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424"        │

23:19:10 #391 [Debug] > │ x2="111" y2="75"/>                                                           │

23:19:10 #392 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:10 #393 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:10 #394 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424"        │

23:19:10 #395 [Debug] > │ x2="128" y2="75"/>                                                           │

23:19:10 #396 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424"        │

23:19:10 #397 [Debug] > │ x2="136" y2="75"/>                                                           │

23:19:10 #398 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424"        │

23:19:10 #399 [Debug] > │ x2="144" y2="75"/>                                                           │

23:19:10 #400 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424"        │

23:19:10 #401 [Debug] > │ x2="153" y2="75"/>                                                           │

23:19:10 #402 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424"        │

23:19:10 #403 [Debug] > │ x2="161" y2="75"/>                                                           │

23:19:10 #404 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:10 #405 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:10 #406 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424"        │

23:19:10 #407 [Debug] > │ x2="178" y2="75"/>                                                           │

23:19:10 #408 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424"        │

23:19:10 #409 [Debug] > │ x2="186" y2="75"/>                                                           │

23:19:10 #410 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424"        │

23:19:10 #411 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:10 #412 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424"        │

23:19:10 #413 [Debug] > │ x2="203" y2="75"/>                                                           │

23:19:10 #414 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424"        │

23:19:10 #415 [Debug] > │ x2="211" y2="75"/>                                                           │

23:19:10 #416 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:10 #417 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:10 #418 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424"        │

23:19:10 #419 [Debug] > │ x2="228" y2="75"/>                                                           │

23:19:10 #420 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424"        │

23:19:10 #421 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:10 #422 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424"        │

23:19:10 #423 [Debug] > │ x2="244" y2="75"/>                                                           │

23:19:10 #424 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424"        │

23:19:10 #425 [Debug] > │ x2="252" y2="75"/>                                                           │

23:19:10 #426 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424"        │

23:19:10 #427 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:10 #428 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:10 #429 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:10 #430 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424"        │

23:19:10 #431 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:10 #432 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424"        │

23:19:10 #433 [Debug] > │ x2="286" y2="75"/>                                                           │

23:19:10 #434 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424"        │

23:19:10 #435 [Debug] > │ x2="294" y2="75"/>                                                           │

23:19:10 #436 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424"        │

23:19:10 #437 [Debug] > │ x2="302" y2="75"/>                                                           │

23:19:10 #438 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424"        │

23:19:10 #439 [Debug] > │ x2="311" y2="75"/>                                                           │

23:19:10 #440 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:10 #441 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:10 #442 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424"        │

23:19:10 #443 [Debug] > │ x2="327" y2="75"/>                                                           │

23:19:10 #444 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424"        │

23:19:10 #445 [Debug] > │ x2="336" y2="75"/>                                                           │

23:19:10 #446 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424"        │

23:19:10 #447 [Debug] > │ x2="344" y2="75"/>                                                           │

23:19:10 #448 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424"        │

23:19:10 #449 [Debug] > │ x2="352" y2="75"/>                                                           │

23:19:10 #450 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424"        │

23:19:10 #451 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:10 #452 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:10 #453 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:10 #454 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424"        │

23:19:10 #455 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:10 #456 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424"        │

23:19:10 #457 [Debug] > │ x2="386" y2="75"/>                                                           │

23:19:10 #458 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424"        │

23:19:10 #459 [Debug] > │ x2="394" y2="75"/>                                                           │

23:19:10 #460 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424"        │

23:19:10 #461 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:10 #462 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424"        │

23:19:10 #463 [Debug] > │ x2="410" y2="75"/>                                                           │

23:19:10 #464 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:10 #465 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:10 #466 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424"        │

23:19:10 #467 [Debug] > │ x2="427" y2="75"/>                                                           │

23:19:10 #468 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424"        │

23:19:10 #469 [Debug] > │ x2="435" y2="75"/>                                                           │

23:19:10 #470 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424"        │

23:19:10 #471 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:10 #472 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424"        │

23:19:10 #473 [Debug] > │ x2="452" y2="75"/>                                                           │

23:19:10 #474 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424"        │

23:19:10 #475 [Debug] > │ x2="460" y2="75"/>                                                           │

23:19:10 #476 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:10 #477 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:10 #478 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424"        │

23:19:10 #479 [Debug] > │ x2="477" y2="75"/>                                                           │

23:19:10 #480 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424"        │

23:19:10 #481 [Debug] > │ x2="485" y2="75"/>                                                           │

23:19:10 #482 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424"        │

23:19:10 #483 [Debug] > │ x2="494" y2="75"/>                                                           │

23:19:10 #484 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424"        │

23:19:10 #485 [Debug] > │ x2="502" y2="75"/>                                                           │

23:19:10 #486 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424"        │

23:19:10 #487 [Debug] > │ x2="510" y2="75"/>                                                           │

23:19:10 #488 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:10 #489 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:10 #490 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424"        │

23:19:10 #491 [Debug] > │ x2="527" y2="75"/>                                                           │

23:19:10 #492 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424"        │

23:19:10 #493 [Debug] > │ x2="535" y2="75"/>                                                           │

23:19:10 #494 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424"        │

23:19:10 #495 [Debug] > │ x2="544" y2="75"/>                                                           │

23:19:10 #496 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424"        │

23:19:10 #497 [Debug] > │ x2="552" y2="75"/>                                                           │

23:19:10 #498 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424"        │

23:19:10 #499 [Debug] > │ x2="560" y2="75"/>                                                           │

23:19:10 #500 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:10 #501 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:10 #502 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424"        │

23:19:10 #503 [Debug] > │ x2="577" y2="75"/>                                                           │

23:19:10 #504 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:10 #505 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:10 #506 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="396"         │

23:19:10 #507 [Debug] > │ x2="584" y2="396"/>                                                          │

23:19:10 #508 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="378"         │

23:19:10 #509 [Debug] > │ x2="584" y2="378"/>                                                          │

23:19:10 #510 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="360"         │

23:19:10 #511 [Debug] > │ x2="584" y2="360"/>                                                          │

23:19:10 #512 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="341"         │

23:19:10 #513 [Debug] > │ x2="584" y2="341"/>                                                          │

23:19:10 #514 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="323"         │

23:19:10 #515 [Debug] > │ x2="584" y2="323"/>                                                          │

23:19:10 #516 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="305"         │

23:19:10 #517 [Debug] > │ x2="584" y2="305"/>                                                          │

23:19:10 #518 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="287"         │

23:19:10 #519 [Debug] > │ x2="584" y2="287"/>                                                          │

23:19:10 #520 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="268"         │

23:19:10 #521 [Debug] > │ x2="584" y2="268"/>                                                          │

23:19:10 #522 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250"         │

23:19:10 #523 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:10 #524 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="232"         │

23:19:10 #525 [Debug] > │ x2="584" y2="232"/>                                                          │

23:19:10 #526 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="213"         │

23:19:10 #527 [Debug] > │ x2="584" y2="213"/>                                                          │

23:19:10 #528 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="195"         │

23:19:10 #529 [Debug] > │ x2="584" y2="195"/>                                                          │

23:19:10 #530 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="177"         │

23:19:10 #531 [Debug] > │ x2="584" y2="177"/>                                                          │

23:19:10 #532 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="159"         │

23:19:10 #533 [Debug] > │ x2="584" y2="159"/>                                                          │

23:19:10 #534 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="140"         │

23:19:10 #535 [Debug] > │ x2="584" y2="140"/>                                                          │

23:19:10 #536 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="122"         │

23:19:10 #537 [Debug] > │ x2="584" y2="122"/>                                                          │

23:19:10 #538 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="104"         │

23:19:10 #539 [Debug] > │ x2="584" y2="104"/>                                                          │

23:19:10 #540 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:10 #541 [Debug] > │ y2="85"/>                                                                    │

23:19:10 #542 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:10 #543 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #544 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #545 [Debug] > │ x                                                                            │

23:19:10 #546 [Debug] > │ </text>                                                                      │

23:19:10 #547 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:10 #548 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #549 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:10 #550 [Debug] > │ y                                                                            │

23:19:10 #551 [Debug] > │ </text>                                                                      │

23:19:10 #552 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:10 #553 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #554 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #555 [Debug] > │ x                                                                            │

23:19:10 #556 [Debug] > │ </text>                                                                      │

23:19:10 #557 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:10 #558 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #559 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:10 #560 [Debug] > │ y                                                                            │

23:19:10 #561 [Debug] > │ </text>                                                                      │

23:19:10 #562 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:10 #563 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #564 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="111" y1="424"        │

23:19:10 #565 [Debug] > │ x2="111" y2="75"/>                                                           │

23:19:10 #566 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="153" y1="424"        │

23:19:10 #567 [Debug] > │ x2="153" y2="75"/>                                                           │

23:19:10 #568 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="194" y1="424"        │

23:19:10 #569 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:10 #570 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424"        │

23:19:10 #571 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:10 #572 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="277" y1="424"        │

23:19:10 #573 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:10 #574 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:10 #575 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:10 #576 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="361" y1="424"        │

23:19:10 #577 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:10 #578 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424"        │

23:19:10 #579 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:10 #580 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="444" y1="424"        │

23:19:10 #581 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:10 #582 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="485" y1="424"        │

23:19:10 #583 [Debug] > │ x2="485" y2="75"/>                                                           │

23:19:10 #584 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="527" y1="424"        │

23:19:10 #585 [Debug] > │ x2="527" y2="75"/>                                                           │

23:19:10 #586 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:10 #587 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:10 #588 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:10 #589 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:10 #590 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="378"         │

23:19:10 #591 [Debug] > │ x2="584" y2="378"/>                                                          │

23:19:10 #592 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="341"         │

23:19:10 #593 [Debug] > │ x2="584" y2="341"/>                                                          │

23:19:10 #594 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="305"         │

23:19:10 #595 [Debug] > │ x2="584" y2="305"/>                                                          │

23:19:10 #596 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="268"         │

23:19:10 #597 [Debug] > │ x2="584" y2="268"/>                                                          │

23:19:10 #598 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="232"         │

23:19:10 #599 [Debug] > │ x2="584" y2="232"/>                                                          │

23:19:10 #600 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="195"         │

23:19:10 #601 [Debug] > │ x2="584" y2="195"/>                                                          │

23:19:10 #602 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="159"         │

23:19:10 #603 [Debug] > │ x2="584" y2="159"/>                                                          │

23:19:10 #604 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="122"         │

23:19:10 #605 [Debug] > │ x2="584" y2="122"/>                                                          │

23:19:10 #606 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:10 #607 [Debug] > │ y2="85"/>                                                                    │

23:19:10 #608 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #609 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:10 #610 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:10 #611 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #612 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #613 [Debug] > │ -3.0                                                                         │

23:19:10 #614 [Debug] > │ </text>                                                                      │

23:19:10 #615 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #616 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:10 #617 [Debug] > │ <text x="111" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #618 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #619 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #620 [Debug] > │ -2.5                                                                         │

23:19:10 #621 [Debug] > │ </text>                                                                      │

23:19:10 #622 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #623 [Debug] > │ points="111,69 111,74 "/>                                                    │

23:19:10 #624 [Debug] > │ <text x="153" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #625 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #626 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #627 [Debug] > │ -2.0                                                                         │

23:19:10 #628 [Debug] > │ </text>                                                                      │

23:19:10 #629 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #630 [Debug] > │ points="153,69 153,74 "/>                                                    │

23:19:10 #631 [Debug] > │ <text x="194" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #632 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #633 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #634 [Debug] > │ -1.5                                                                         │

23:19:10 #635 [Debug] > │ </text>                                                                      │

23:19:10 #636 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #637 [Debug] > │ points="194,69 194,74 "/>                                                    │

23:19:10 #638 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #639 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #640 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #641 [Debug] > │ -1.0                                                                         │

23:19:10 #642 [Debug] > │ </text>                                                                      │

23:19:10 #643 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #644 [Debug] > │ points="236,69 236,74 "/>                                                    │

23:19:10 #645 [Debug] > │ <text x="277" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #646 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #647 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #648 [Debug] > │ -0.5                                                                         │

23:19:10 #649 [Debug] > │ </text>                                                                      │

23:19:10 #650 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #651 [Debug] > │ points="277,69 277,74 "/>                                                    │

23:19:10 #652 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #653 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #654 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #655 [Debug] > │ 0.0                                                                          │

23:19:10 #656 [Debug] > │ </text>                                                                      │

23:19:10 #657 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #658 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:10 #659 [Debug] > │ <text x="361" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #660 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #661 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #662 [Debug] > │ 0.5                                                                          │

23:19:10 #663 [Debug] > │ </text>                                                                      │

23:19:10 #664 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #665 [Debug] > │ points="361,69 361,74 "/>                                                    │

23:19:10 #666 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #667 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #668 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #669 [Debug] > │ 1.0                                                                          │

23:19:10 #670 [Debug] > │ </text>                                                                      │

23:19:10 #671 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #672 [Debug] > │ points="402,69 402,74 "/>                                                    │

23:19:10 #673 [Debug] > │ <text x="444" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #674 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #675 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #676 [Debug] > │ 1.5                                                                          │

23:19:10 #677 [Debug] > │ </text>                                                                      │

23:19:10 #678 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #679 [Debug] > │ points="444,69 444,74 "/>                                                    │

23:19:10 #680 [Debug] > │ <text x="485" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #681 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #682 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #683 [Debug] > │ 2.0                                                                          │

23:19:10 #684 [Debug] > │ </text>                                                                      │

23:19:10 #685 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #686 [Debug] > │ points="485,69 485,74 "/>                                                    │

23:19:10 #687 [Debug] > │ <text x="527" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #688 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #689 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #690 [Debug] > │ 2.5                                                                          │

23:19:10 #691 [Debug] > │ </text>                                                                      │

23:19:10 #692 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #693 [Debug] > │ points="527,69 527,74 "/>                                                    │

23:19:10 #694 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #695 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #696 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #697 [Debug] > │ 3.0                                                                          │

23:19:10 #698 [Debug] > │ </text>                                                                      │

23:19:10 #699 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #700 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:10 #701 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #702 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:10 #703 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #704 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #705 [Debug] > │ 0.0                                                                          │

23:19:10 #706 [Debug] > │ </text>                                                                      │

23:19:10 #707 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #708 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:10 #709 [Debug] > │ <text x="45" y="378" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #710 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #711 [Debug] > │ 1.0                                                                          │

23:19:10 #712 [Debug] > │ </text>                                                                      │

23:19:10 #713 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #714 [Debug] > │ points="49,378 54,378 "/>                                                    │

23:19:10 #715 [Debug] > │ <text x="45" y="341" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #716 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #717 [Debug] > │ 2.0                                                                          │

23:19:10 #718 [Debug] > │ </text>                                                                      │

23:19:10 #719 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #720 [Debug] > │ points="49,341 54,341 "/>                                                    │

23:19:10 #721 [Debug] > │ <text x="45" y="305" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #722 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #723 [Debug] > │ 3.0                                                                          │

23:19:10 #724 [Debug] > │ </text>                                                                      │

23:19:10 #725 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #726 [Debug] > │ points="49,305 54,305 "/>                                                    │

23:19:10 #727 [Debug] > │ <text x="45" y="268" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #728 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #729 [Debug] > │ 4.0                                                                          │

23:19:10 #730 [Debug] > │ </text>                                                                      │

23:19:10 #731 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #732 [Debug] > │ points="49,268 54,268 "/>                                                    │

23:19:10 #733 [Debug] > │ <text x="45" y="232" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #734 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #735 [Debug] > │ 5.0                                                                          │

23:19:10 #736 [Debug] > │ </text>                                                                      │

23:19:10 #737 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #738 [Debug] > │ points="49,232 54,232 "/>                                                    │

23:19:10 #739 [Debug] > │ <text x="45" y="195" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #740 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #741 [Debug] > │ 6.0                                                                          │

23:19:10 #742 [Debug] > │ </text>                                                                      │

23:19:10 #743 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #744 [Debug] > │ points="49,195 54,195 "/>                                                    │

23:19:10 #745 [Debug] > │ <text x="45" y="159" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #746 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #747 [Debug] > │ 7.0                                                                          │

23:19:10 #748 [Debug] > │ </text>                                                                      │

23:19:10 #749 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #750 [Debug] > │ points="49,159 54,159 "/>                                                    │

23:19:10 #751 [Debug] > │ <text x="45" y="122" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #752 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #753 [Debug] > │ 8.0                                                                          │

23:19:10 #754 [Debug] > │ </text>                                                                      │

23:19:10 #755 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #756 [Debug] > │ points="49,122 54,122 "/>                                                    │

23:19:10 #757 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:10 #758 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #759 [Debug] > │ 9.0                                                                          │

23:19:10 #760 [Debug] > │ </text>                                                                      │

23:19:10 #761 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #762 [Debug] > │ points="49,85 54,85 "/>                                                      │

23:19:10 #763 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #764 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:10 #765 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:10 #766 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #767 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #768 [Debug] > │ -3.0                                                                         │

23:19:10 #769 [Debug] > │ </text>                                                                      │

23:19:10 #770 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #771 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:10 #772 [Debug] > │ <text x="111" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #773 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #774 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #775 [Debug] > │ -2.5                                                                         │

23:19:10 #776 [Debug] > │ </text>                                                                      │

23:19:10 #777 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #778 [Debug] > │ points="111,425 111,430 "/>                                                  │

23:19:10 #779 [Debug] > │ <text x="153" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #780 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #781 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #782 [Debug] > │ -2.0                                                                         │

23:19:10 #783 [Debug] > │ </text>                                                                      │

23:19:10 #784 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #785 [Debug] > │ points="153,425 153,430 "/>                                                  │

23:19:10 #786 [Debug] > │ <text x="194" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #787 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #788 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #789 [Debug] > │ -1.5                                                                         │

23:19:10 #790 [Debug] > │ </text>                                                                      │

23:19:10 #791 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #792 [Debug] > │ points="194,425 194,430 "/>                                                  │

23:19:10 #793 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #794 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #795 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #796 [Debug] > │ -1.0                                                                         │

23:19:10 #797 [Debug] > │ </text>                                                                      │

23:19:10 #798 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #799 [Debug] > │ points="236,425 236,430 "/>                                                  │

23:19:10 #800 [Debug] > │ <text x="277" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #801 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #802 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #803 [Debug] > │ -0.5                                                                         │

23:19:10 #804 [Debug] > │ </text>                                                                      │

23:19:10 #805 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #806 [Debug] > │ points="277,425 277,430 "/>                                                  │

23:19:10 #807 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #808 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #809 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #810 [Debug] > │ 0.0                                                                          │

23:19:10 #811 [Debug] > │ </text>                                                                      │

23:19:10 #812 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #813 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:10 #814 [Debug] > │ <text x="361" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #815 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #816 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #817 [Debug] > │ 0.5                                                                          │

23:19:10 #818 [Debug] > │ </text>                                                                      │

23:19:10 #819 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #820 [Debug] > │ points="361,425 361,430 "/>                                                  │

23:19:10 #821 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #822 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #823 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #824 [Debug] > │ 1.0                                                                          │

23:19:10 #825 [Debug] > │ </text>                                                                      │

23:19:10 #826 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #827 [Debug] > │ points="402,425 402,430 "/>                                                  │

23:19:10 #828 [Debug] > │ <text x="444" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #829 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #830 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #831 [Debug] > │ 1.5                                                                          │

23:19:10 #832 [Debug] > │ </text>                                                                      │

23:19:10 #833 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #834 [Debug] > │ points="444,425 444,430 "/>                                                  │

23:19:10 #835 [Debug] > │ <text x="485" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #836 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #837 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #838 [Debug] > │ 2.0                                                                          │

23:19:10 #839 [Debug] > │ </text>                                                                      │

23:19:10 #840 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #841 [Debug] > │ points="485,425 485,430 "/>                                                  │

23:19:10 #842 [Debug] > │ <text x="527" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #843 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #844 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #845 [Debug] > │ 2.5                                                                          │

23:19:10 #846 [Debug] > │ </text>                                                                      │

23:19:10 #847 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #848 [Debug] > │ points="527,425 527,430 "/>                                                  │

23:19:10 #849 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #850 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #851 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #852 [Debug] > │ 3.0                                                                          │

23:19:10 #853 [Debug] > │ </text>                                                                      │

23:19:10 #854 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #855 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:10 #856 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #857 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:10 #858 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start"                         │

23:19:10 #859 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #860 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #861 [Debug] > │ 0.0                                                                          │

23:19:10 #862 [Debug] > │ </text>                                                                      │

23:19:10 #863 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #864 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:10 #865 [Debug] > │ <text x="595" y="378" dy="0.5ex" text-anchor="start"                         │

23:19:10 #866 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #867 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #868 [Debug] > │ 1.0                                                                          │

23:19:10 #869 [Debug] > │ </text>                                                                      │

23:19:10 #870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #871 [Debug] > │ points="585,378 590,378 "/>                                                  │

23:19:10 #872 [Debug] > │ <text x="595" y="341" dy="0.5ex" text-anchor="start"                         │

23:19:10 #873 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #874 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #875 [Debug] > │ 2.0                                                                          │

23:19:10 #876 [Debug] > │ </text>                                                                      │

23:19:10 #877 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #878 [Debug] > │ points="585,341 590,341 "/>                                                  │

23:19:10 #879 [Debug] > │ <text x="595" y="305" dy="0.5ex" text-anchor="start"                         │

23:19:10 #880 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #881 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #882 [Debug] > │ 3.0                                                                          │

23:19:10 #883 [Debug] > │ </text>                                                                      │

23:19:10 #884 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #885 [Debug] > │ points="585,305 590,305 "/>                                                  │

23:19:10 #886 [Debug] > │ <text x="595" y="268" dy="0.5ex" text-anchor="start"                         │

23:19:10 #887 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #888 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #889 [Debug] > │ 4.0                                                                          │

23:19:10 #890 [Debug] > │ </text>                                                                      │

23:19:10 #891 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #892 [Debug] > │ points="585,268 590,268 "/>                                                  │

23:19:10 #893 [Debug] > │ <text x="595" y="232" dy="0.5ex" text-anchor="start"                         │

23:19:10 #894 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #895 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #896 [Debug] > │ 5.0                                                                          │

23:19:10 #897 [Debug] > │ </text>                                                                      │

23:19:10 #898 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #899 [Debug] > │ points="585,232 590,232 "/>                                                  │

23:19:10 #900 [Debug] > │ <text x="595" y="195" dy="0.5ex" text-anchor="start"                         │

23:19:10 #901 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #902 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #903 [Debug] > │ 6.0                                                                          │

23:19:10 #904 [Debug] > │ </text>                                                                      │

23:19:10 #905 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #906 [Debug] > │ points="585,195 590,195 "/>                                                  │

23:19:10 #907 [Debug] > │ <text x="595" y="159" dy="0.5ex" text-anchor="start"                         │

23:19:10 #908 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #909 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #910 [Debug] > │ 7.0                                                                          │

23:19:10 #911 [Debug] > │ </text>                                                                      │

23:19:10 #912 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #913 [Debug] > │ points="585,159 590,159 "/>                                                  │

23:19:10 #914 [Debug] > │ <text x="595" y="122" dy="0.5ex" text-anchor="start"                         │

23:19:10 #915 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #916 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #917 [Debug] > │ 8.0                                                                          │

23:19:10 #918 [Debug] > │ </text>                                                                      │

23:19:10 #919 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #920 [Debug] > │ points="585,122 590,122 "/>                                                  │

23:19:10 #921 [Debug] > │ <text x="595" y="85" dy="0.5ex" text-anchor="start" font-family="sans-serif" │

23:19:10 #922 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #923 [Debug] > │ 9.0                                                                          │

23:19:10 #924 [Debug] > │ </text>                                                                      │

23:19:10 #925 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #926 [Debug] > │ points="585,85 590,85 "/>                                                    │

23:19:10 #927 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:10 #928 [Debug] > │ points="69,85 70,88 71,90 72,92 73,94 74,96 74,98 75,101 76,103 77,105       │

23:19:10 #929 [Debug] > │ 78,107 79,109 79,111 80,113 81,115 82,117 83,120 84,122 84,124 85,126 86,128 │

23:19:10 #930 [Debug] > │ 87,130 88,132 89,134 89,136 90,138 91,140 92,142 93,144 94,146 94,148 95,150 │

23:19:10 #931 [Debug] > │ 96,152 97,154 98,156 99,158 99,160 100,162 101,164 102,165 103,167 104,169   │

23:19:10 #932 [Debug] > │ 104,171 105,173 106,175 107,177 108,179 109,180 109,182 110,184 111,186      │

23:19:10 #933 [Debug] > │ 112,188 113,190 114,191 114,193 115,195 116,197 117,199 118,200 119,202      │

23:19:10 #934 [Debug] > │ 119,204 120,206 121,207 122,209 123,211 124,213 124,214 125,216 126,218      │

23:19:10 #935 [Debug] > │ 127,219 128,221 129,223 129,224 130,226 131,228 132,229 133,231 134,233      │

23:19:10 #936 [Debug] > │ 134,234 135,236 136,238 137,239 138,241 139,242 139,244 140,246 141,247      │

23:19:10 #937 [Debug] > │ 142,249 143,250 143,252 144,253 145,255 146,256 147,258 148,259 148,261      │

23:19:10 #938 [Debug] > │ 149,262 150,264 151,265 152,267 153,268 153,270 154,271 155,273 156,274      │

23:19:10 #939 [Debug] > │ 157,276 158,277 158,278 159,280 160,281 161,283 162,284 163,285 163,287      │

23:19:10 #940 [Debug] > │ 164,288 165,289 166,291 167,292 168,293 168,295 169,296 170,297 171,299      │

23:19:10 #941 [Debug] > │ 172,300 173,301 173,303 174,304 175,305 176,306 177,308 178,309 178,310      │

23:19:10 #942 [Debug] > │ 179,311 180,313 181,314 182,315 183,316 183,317 184,319 185,320 186,321      │

23:19:10 #943 [Debug] > │ 187,322 188,323 188,324 189,326 190,327 191,328 192,329 193,330 193,331      │

23:19:10 #944 [Debug] > │ 194,332 195,333 196,334 197,336 198,337 198,338 199,339 200,340 201,341      │

23:19:10 #945 [Debug] > │ 202,342 203,343 203,344 204,345 205,346 206,347 207,348 208,349 208,350      │

23:19:10 #946 [Debug] > │ 209,351 210,352 211,353 212,354 213,355 213,356 214,357 215,357 216,358      │

23:19:10 #947 [Debug] > │ 217,359 218,360 218,361 219,362 220,363 221,364 222,365 223,365 223,366      │

23:19:10 #948 [Debug] > │ 224,367 225,368 226,369 227,370 228,370 228,371 229,372 230,373 231,374      │

23:19:10 #949 [Debug] > │ 232,374 232,375 233,376 234,377 235,377 236,378 237,379 237,379 238,380      │

23:19:10 #950 [Debug] > │ 239,381 240,382 241,382 242,383 242,384 243,384 244,385 245,386 246,386      │

23:19:10 #951 [Debug] > │ 247,387 247,388 248,388 249,389 250,389 251,390 252,391 252,391 253,392      │

23:19:10 #952 [Debug] > │ 254,392 255,393 256,393 257,394 257,395 258,395 259,396 260,396 261,397      │

23:19:10 #953 [Debug] > │ 262,397 262,398 263,398 264,399 265,399 266,400 267,400 267,401 268,401      │

23:19:10 #954 [Debug] > │ 269,401 270,402 271,402 272,403 272,403 273,404 274,404 275,404 276,405      │

23:19:10 #955 [Debug] > │ 277,405 277,405 278,406 279,406 280,407 281,407 282,407 282,408 283,408      │

23:19:10 #956 [Debug] > │ 284,408 285,408 286,409 287,409 287,409 288,410 289,410 290,410 291,410      │

23:19:10 #957 [Debug] > │ 292,411 292,411 293,411 294,411 295,412 296,412 297,412 297,412 298,412      │

23:19:10 #958 [Debug] > │ 299,413 300,413 301,413 302,413 302,413 303,413 304,413 305,414 306,414      │

23:19:10 #959 [Debug] > │ 307,414 307,414 308,414 309,414 310,414 311,414 312,414 312,414 313,414      │

23:19:10 #960 [Debug] > │ 314,414 315,415 316,415 317,415 317,415 318,415 319,415 320,415 321,415      │

23:19:10 #961 [Debug] > │ 321,415 322,415 323,415 324,414 325,414 326,414 326,414 327,414 328,414      │

23:19:10 #962 [Debug] > │ 329,414 330,414 331,414 331,414 332,414 333,414 334,413 335,413 336,413      │

23:19:10 #963 [Debug] > │ 336,413 337,413 338,413 339,413 340,412 341,412 341,412 342,412 343,412      │

23:19:10 #964 [Debug] > │ 344,411 345,411 346,411 346,411 347,410 348,410 349,410 350,410 351,409      │

23:19:10 #965 [Debug] > │ 351,409 352,409 353,408 354,408 355,408 356,408 356,407 357,407 358,407      │

23:19:10 #966 [Debug] > │ 359,406 360,406 361,405 361,405 362,405 363,404 364,404 365,404 366,403      │

23:19:10 #967 [Debug] > │ 366,403 367,402 368,402 369,401 370,401 371,401 371,400 372,400 373,399      │

23:19:10 #968 [Debug] > │ 374,399 375,398 376,398 376,397 377,397 378,396 379,396 380,395 381,395      │

23:19:10 #969 [Debug] > │ 381,394 382,393 383,393 384,392 385,392 386,391 386,391 387,390 388,389      │

23:19:10 #970 [Debug] > │ 389,389 390,388 391,388 391,387 392,386 393,386 394,385 395,384 396,384      │

23:19:10 #971 [Debug] > │ 396,383 397,382 398,382 399,381 400,380 401,379 401,379 402,378 403,377      │

23:19:10 #972 [Debug] > │ 404,377 405,376 406,375 406,374 407,374 408,373 409,372 410,371 410,370      │

23:19:10 #973 [Debug] > │ 411,370 412,369 413,368 414,367 415,366 415,365 416,365 417,364 418,363      │

23:19:10 #974 [Debug] > │ 419,362 420,361 420,360 421,359 422,358 423,357 424,357 425,356 425,355      │

23:19:10 #975 [Debug] > │ 426,354 427,353 428,352 429,351 430,350 430,349 431,348 432,347 433,346      │

23:19:10 #976 [Debug] > │ 434,345 435,344 435,343 436,342 437,341 438,340 439,339 440,338 440,337      │

23:19:10 #977 [Debug] > │ 441,336 442,334 443,333 444,332 445,331 445,330 446,329 447,328 448,327      │

23:19:10 #978 [Debug] > │ 449,326 450,324 450,323 451,322 452,321 453,320 454,319 455,317 455,316      │

23:19:10 #979 [Debug] > │ 456,315 457,314 458,313 459,311 460,310 460,309 461,308 462,306 463,305      │

23:19:10 #980 [Debug] > │ 464,304 465,303 465,301 466,300 467,299 468,297 469,296 470,295 470,293      │

23:19:10 #981 [Debug] > │ 471,292 472,291 473,289 474,288 475,287 475,285 476,284 477,283 478,281      │

23:19:10 #982 [Debug] > │ 479,280 480,278 480,277 481,276 482,274 483,273 484,271 485,270 485,268      │

23:19:10 #983 [Debug] > │ 486,267 487,265 488,264 489,262 490,261 490,259 491,258 492,256 493,255      │

23:19:10 #984 [Debug] > │ 494,253 495,252 495,250 496,249 497,247 498,246 499,244 499,242 500,241      │

23:19:10 #985 [Debug] > │ 501,239 502,238 503,236 504,234 504,233 505,231 506,229 507,228 508,226      │

23:19:10 #986 [Debug] > │ 509,224 509,223 510,221 511,219 512,218 513,216 514,214 514,213 515,211      │

23:19:10 #987 [Debug] > │ 516,209 517,207 518,206 519,204 519,202 520,200 521,199 522,197 523,195      │

23:19:10 #988 [Debug] > │ 524,193 524,191 525,190 526,188 527,186 528,184 529,182 529,180 530,179      │

23:19:10 #989 [Debug] > │ 531,177 532,175 533,173 534,171 534,169 535,167 536,165 537,164 538,162      │

23:19:10 #990 [Debug] > │ 539,160 539,158 540,156 541,154 542,152 543,150 544,148 544,146 545,144      │

23:19:10 #991 [Debug] > │ 546,142 547,140 548,138 549,136 549,134 550,132 551,130 552,128 553,126      │

23:19:10 #992 [Debug] > │ 554,124 554,122 555,120 556,117 557,115 558,113 559,111 559,109 560,107      │

23:19:10 #993 [Debug] > │ 561,105 562,103 563,101 564,98 564,96 565,94 566,92 567,90 568,88 569,85 "/> │

23:19:10 #994 [Debug] > │ <rect x="497" y="235" width="83" height="30" opacity="1" fill="none"         │

23:19:10 #995 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:10 #996 [Debug] > │ <text x="537" y="245" dy="0.76em" text-anchor="start"                        │

23:19:10 #997 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #998 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #999 [Debug] > │ square                                                                       │

23:19:10 #1000 [Debug] > │ </text>                                                                      │

23:19:10 #1001 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:10 #1002 [Debug] > │ points="507,250 527,250 "/>                                                  │

23:19:10 #1003 [Debug] > │ </svg>                                                                       │

23:19:10 #1004 [Debug] > │                                                                              │

23:19:10 #1005 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:10 #1006 [Debug] >

23:19:10 #1007 [Debug] > ╭─[ 787.35ms - stdout ]────────────────────────────────────────────────────────╮

23:19:10 #1008 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:10 #1009 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:10 #1010 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:10 #1011 [Debug] > │     let v2 : bool = v1 < 601                                                 │

23:19:10 #1012 [Debug] > │     v2                                                                       │

23:19:10 #1013 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:10 #1014 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:10 #1015 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:10 #1016 [Debug] > │     v3                                                                       │

23:19:10 #1017 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:10 #1018 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:10 #1019 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (601)                      │

23:19:10 #1020 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:10 #1021 [Debug] > │     while method1(v1) do                                                     │

23:19:10 #1022 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:10 #1023 [Debug] > │         let v4 : float = float v3                                            │

23:19:10 #1024 [Debug] > │         let v5 : float = 0.01 * v4                                           │

23:19:10 #1025 [Debug] > │         let v6 : float = -3.0 + v5                                           │

23:19:10 #1026 [Debug] > │         v0.[int v3] <- v6                                                    │

23:19:10 #1027 [Debug] > │         let v7 : int32 = v3 + 1                                              │

23:19:10 #1028 [Debug] > │         v1.l0 <- v7                                                          │

23:19:10 #1029 [Debug] > │         ()                                                                   │

23:19:10 #1030 [Debug] > │     let v8 : int32 = v0.Length                                               │

23:19:10 #1031 [Debug] > │     let v9 : (float []) = Array.zeroCreate<float> (v8)                       │

23:19:10 #1032 [Debug] > │     let v10 : Mut0 = {l0 = 0} : Mut0                                         │

23:19:10 #1033 [Debug] > │     while method2(v8, v10) do                                                │

23:19:10 #1034 [Debug] > │         let v12 : int32 = v10.l0                                             │

23:19:10 #1035 [Debug] > │         let v13 : float = v0.[int v12]                                       │

23:19:10 #1036 [Debug] > │         let v14 : float = v13 ** 2.0                                         │

23:19:10 #1037 [Debug] > │         v9.[int v12] <- v14                                                  │

23:19:10 #1038 [Debug] > │         let v15 : int32 = v12 + 1                                            │

23:19:10 #1039 [Debug] > │         v10.l0 <- v15                                                        │

23:19:10 #1040 [Debug] > │         ()                                                                   │

23:19:10 #1041 [Debug] > │     let v16 : string = "square"                                              │

23:19:10 #1042 [Debug] > │     let v17 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:10 #1043 [Debug] > │ (v16, v0, v9)|]                                                              │

23:19:10 #1044 [Debug] > │     let v18 : string = "x"                                                   │

23:19:10 #1045 [Debug] > │     let v19 : string = "y"                                                   │

23:19:10 #1046 [Debug] > │     struct (v16, v18, v19, v17)                                              │

23:19:10 #1047 [Debug] > │ method0()                                                                    │

23:19:10 #1048 [Debug] > │                                                                              │

23:19:10 #1049 [Debug] > │                                                                              │

23:19:10 #1050 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:10 #1051 [Debug] >

23:19:10 #1052 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:10 #1053 [Debug] > // // test

23:19:10 #1054 [Debug] >

23:19:10 #1055 [Debug] > inl x : a _ f64 = am'.init_series -10 10 0.1

23:19:10 #1056 [Debug] > inl y_sin = x |> am.map sin

23:19:10 #1057 [Debug] > inl y_cos = x |> am.map cos

23:19:10 #1058 [Debug] > "sin cos", "x", "y", ;[[ "sin", x, y_sin; "cos", x, y_cos ]]

23:19:10 #1059 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1051-5138-5740e12585a5\main.spi

23:19:10 #1060 [Debug] >

23:19:10 #1061 [Debug] > ╭─[ 223.36ms - return value ]──────────────────────────────────────────────────╮

23:19:10 #1062 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:10 #1063 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:10 #1064 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:10 #1065 [Debug] > │ stroke="none"/>                                                              │

23:19:10 #1066 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:10 #1067 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1068 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1069 [Debug] > │ sin cos                                                                      │

23:19:10 #1070 [Debug] > │ </text>                                                                      │

23:19:10 #1071 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │

23:19:10 #1072 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #1073 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:10 #1074 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #1075 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │

23:19:10 #1076 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #1077 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │

23:19:10 #1078 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #1079 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424"        │

23:19:10 #1080 [Debug] > │ x2="107" y2="75"/>                                                           │

23:19:10 #1081 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:10 #1082 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:10 #1083 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424"        │

23:19:10 #1084 [Debug] > │ x2="132" y2="75"/>                                                           │

23:19:10 #1085 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424"        │

23:19:10 #1086 [Debug] > │ x2="144" y2="75"/>                                                           │

23:19:10 #1087 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424"        │

23:19:10 #1088 [Debug] > │ x2="157" y2="75"/>                                                           │

23:19:10 #1089 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:10 #1090 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:10 #1091 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424"        │

23:19:10 #1092 [Debug] > │ x2="182" y2="75"/>                                                           │

23:19:10 #1093 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424"        │

23:19:10 #1094 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:10 #1095 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424"        │

23:19:10 #1096 [Debug] > │ x2="207" y2="75"/>                                                           │

23:19:10 #1097 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:10 #1098 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:10 #1099 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="232" y1="424"        │

23:19:10 #1100 [Debug] > │ x2="232" y2="75"/>                                                           │

23:19:10 #1101 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424"        │

23:19:10 #1102 [Debug] > │ x2="244" y2="75"/>                                                           │

23:19:10 #1103 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="257" y1="424"        │

23:19:10 #1104 [Debug] > │ x2="257" y2="75"/>                                                           │

23:19:10 #1105 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:10 #1106 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:10 #1107 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="282" y1="424"        │

23:19:10 #1108 [Debug] > │ x2="282" y2="75"/>                                                           │

23:19:10 #1109 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424"        │

23:19:10 #1110 [Debug] > │ x2="294" y2="75"/>                                                           │

23:19:10 #1111 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424"        │

23:19:10 #1112 [Debug] > │ x2="307" y2="75"/>                                                           │

23:19:10 #1113 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:10 #1114 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:10 #1115 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424"        │

23:19:10 #1116 [Debug] > │ x2="331" y2="75"/>                                                           │

23:19:10 #1117 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424"        │

23:19:10 #1118 [Debug] > │ x2="344" y2="75"/>                                                           │

23:19:10 #1119 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="356" y1="424"        │

23:19:10 #1120 [Debug] > │ x2="356" y2="75"/>                                                           │

23:19:10 #1121 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:10 #1122 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:10 #1123 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="381" y1="424"        │

23:19:10 #1124 [Debug] > │ x2="381" y2="75"/>                                                           │

23:19:10 #1125 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424"        │

23:19:10 #1126 [Debug] > │ x2="394" y2="75"/>                                                           │

23:19:10 #1127 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="406" y1="424"        │

23:19:10 #1128 [Debug] > │ x2="406" y2="75"/>                                                           │

23:19:10 #1129 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:10 #1130 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:10 #1131 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="431" y1="424"        │

23:19:10 #1132 [Debug] > │ x2="431" y2="75"/>                                                           │

23:19:10 #1133 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424"        │

23:19:10 #1134 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:10 #1135 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="456" y1="424"        │

23:19:10 #1136 [Debug] > │ x2="456" y2="75"/>                                                           │

23:19:10 #1137 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:10 #1138 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:10 #1139 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="481" y1="424"        │

23:19:10 #1140 [Debug] > │ x2="481" y2="75"/>                                                           │

23:19:10 #1141 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424"        │

23:19:10 #1142 [Debug] > │ x2="494" y2="75"/>                                                           │

23:19:10 #1143 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="506" y1="424"        │

23:19:10 #1144 [Debug] > │ x2="506" y2="75"/>                                                           │

23:19:10 #1145 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:10 #1146 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:10 #1147 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="531" y1="424"        │

23:19:10 #1148 [Debug] > │ x2="531" y2="75"/>                                                           │

23:19:10 #1149 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424"        │

23:19:10 #1150 [Debug] > │ x2="544" y2="75"/>                                                           │

23:19:10 #1151 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="556" y1="424"        │

23:19:10 #1152 [Debug] > │ x2="556" y2="75"/>                                                           │

23:19:10 #1153 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:10 #1154 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:10 #1155 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="581" y1="424"        │

23:19:10 #1156 [Debug] > │ x2="581" y2="75"/>                                                           │

23:19:10 #1157 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:10 #1158 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:10 #1159 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="398"         │

23:19:10 #1160 [Debug] > │ x2="584" y2="398"/>                                                          │

23:19:10 #1161 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382"         │

23:19:10 #1162 [Debug] > │ x2="584" y2="382"/>                                                          │

23:19:10 #1163 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="365"         │

23:19:10 #1164 [Debug] > │ x2="584" y2="365"/>                                                          │

23:19:10 #1165 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349"         │

23:19:10 #1166 [Debug] > │ x2="584" y2="349"/>                                                          │

23:19:10 #1167 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332"         │

23:19:10 #1168 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:10 #1169 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316"         │

23:19:10 #1170 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:10 #1171 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="299"         │

23:19:10 #1172 [Debug] > │ x2="584" y2="299"/>                                                          │

23:19:10 #1173 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283"         │

23:19:10 #1174 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:10 #1175 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="266"         │

23:19:10 #1176 [Debug] > │ x2="584" y2="266"/>                                                          │

23:19:10 #1177 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250"         │

23:19:10 #1178 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:10 #1179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234"         │

23:19:10 #1180 [Debug] > │ x2="584" y2="234"/>                                                          │

23:19:10 #1181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217"         │

23:19:10 #1182 [Debug] > │ x2="584" y2="217"/>                                                          │

23:19:10 #1183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:10 #1184 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:10 #1185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184"         │

23:19:10 #1186 [Debug] > │ x2="584" y2="184"/>                                                          │

23:19:10 #1187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168"         │

23:19:10 #1188 [Debug] > │ x2="584" y2="168"/>                                                          │

23:19:10 #1189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151"         │

23:19:10 #1190 [Debug] > │ x2="584" y2="151"/>                                                          │

23:19:10 #1191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135"         │

23:19:10 #1192 [Debug] > │ x2="584" y2="135"/>                                                          │

23:19:10 #1193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118"         │

23:19:10 #1194 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:10 #1195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102"         │

23:19:10 #1196 [Debug] > │ x2="584" y2="102"/>                                                          │

23:19:10 #1197 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:10 #1198 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1199 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1200 [Debug] > │ x                                                                            │

23:19:10 #1201 [Debug] > │ </text>                                                                      │

23:19:10 #1202 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:10 #1203 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1204 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:10 #1205 [Debug] > │ y                                                                            │

23:19:10 #1206 [Debug] > │ </text>                                                                      │

23:19:10 #1207 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:10 #1208 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1209 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1210 [Debug] > │ x                                                                            │

23:19:10 #1211 [Debug] > │ </text>                                                                      │

23:19:10 #1212 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1213 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1214 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:10 #1215 [Debug] > │ y                                                                            │

23:19:10 #1216 [Debug] > │ </text>                                                                      │

23:19:10 #1217 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:10 #1218 [Debug] > │ y2="75"/>                                                                    │

23:19:10 #1219 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:10 #1220 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:10 #1221 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:10 #1222 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:10 #1223 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:10 #1224 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:10 #1225 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:10 #1226 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:10 #1227 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:10 #1228 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:10 #1229 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:10 #1230 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:10 #1231 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:10 #1232 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:10 #1233 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:10 #1234 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:10 #1235 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:10 #1236 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:10 #1237 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:10 #1238 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:10 #1239 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:10 #1240 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:10 #1241 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332"         │

23:19:10 #1242 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:10 #1243 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250"         │

23:19:10 #1244 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:10 #1245 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="168"         │

23:19:10 #1246 [Debug] > │ x2="584" y2="168"/>                                                          │

23:19:10 #1247 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:10 #1248 [Debug] > │ y2="85"/>                                                                    │

23:19:10 #1249 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1250 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:10 #1251 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:10 #1252 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1253 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1254 [Debug] > │ -10.0                                                                        │

23:19:10 #1255 [Debug] > │ </text>                                                                      │

23:19:10 #1256 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1257 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:10 #1258 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1259 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1260 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1261 [Debug] > │ -8.0                                                                         │

23:19:10 #1262 [Debug] > │ </text>                                                                      │

23:19:10 #1263 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1264 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:10 #1265 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1266 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1267 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1268 [Debug] > │ -6.0                                                                         │

23:19:10 #1269 [Debug] > │ </text>                                                                      │

23:19:10 #1270 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1271 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:10 #1272 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1273 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1274 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1275 [Debug] > │ -4.0                                                                         │

23:19:10 #1276 [Debug] > │ </text>                                                                      │

23:19:10 #1277 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1278 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:10 #1279 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1280 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1281 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1282 [Debug] > │ -2.0                                                                         │

23:19:10 #1283 [Debug] > │ </text>                                                                      │

23:19:10 #1284 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1285 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:10 #1286 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1287 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1288 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1289 [Debug] > │ 0.0                                                                          │

23:19:10 #1290 [Debug] > │ </text>                                                                      │

23:19:10 #1291 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1292 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:10 #1293 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1294 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1295 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1296 [Debug] > │ 2.0                                                                          │

23:19:10 #1297 [Debug] > │ </text>                                                                      │

23:19:10 #1298 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1299 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:10 #1300 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1301 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1302 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1303 [Debug] > │ 4.0                                                                          │

23:19:10 #1304 [Debug] > │ </text>                                                                      │

23:19:10 #1305 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1306 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:10 #1307 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1308 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1309 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1310 [Debug] > │ 6.0                                                                          │

23:19:10 #1311 [Debug] > │ </text>                                                                      │

23:19:10 #1312 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1313 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:10 #1314 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1315 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1316 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1317 [Debug] > │ 8.0                                                                          │

23:19:10 #1318 [Debug] > │ </text>                                                                      │

23:19:10 #1319 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1320 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:10 #1321 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:10 #1322 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1323 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1324 [Debug] > │ 10.0                                                                         │

23:19:10 #1325 [Debug] > │ </text>                                                                      │

23:19:10 #1326 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1327 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:10 #1328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1329 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:10 #1330 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #1331 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1332 [Debug] > │ -1.0                                                                         │

23:19:10 #1333 [Debug] > │ </text>                                                                      │

23:19:10 #1334 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1335 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:10 #1336 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #1337 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1338 [Debug] > │ -0.5                                                                         │

23:19:10 #1339 [Debug] > │ </text>                                                                      │

23:19:10 #1340 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1341 [Debug] > │ points="49,332 54,332 "/>                                                    │

23:19:10 #1342 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #1343 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1344 [Debug] > │ 0.0                                                                          │

23:19:10 #1345 [Debug] > │ </text>                                                                      │

23:19:10 #1346 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1347 [Debug] > │ points="49,250 54,250 "/>                                                    │

23:19:10 #1348 [Debug] > │ <text x="45" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #1349 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1350 [Debug] > │ 0.5                                                                          │

23:19:10 #1351 [Debug] > │ </text>                                                                      │

23:19:10 #1352 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1353 [Debug] > │ points="49,168 54,168 "/>                                                    │

23:19:10 #1354 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:10 #1355 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1356 [Debug] > │ 1.0                                                                          │

23:19:10 #1357 [Debug] > │ </text>                                                                      │

23:19:10 #1358 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1359 [Debug] > │ points="49,85 54,85 "/>                                                      │

23:19:10 #1360 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1361 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:10 #1362 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:10 #1363 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1364 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1365 [Debug] > │ -10.0                                                                        │

23:19:10 #1366 [Debug] > │ </text>                                                                      │

23:19:10 #1367 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1368 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:10 #1369 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1370 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1371 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1372 [Debug] > │ -8.0                                                                         │

23:19:10 #1373 [Debug] > │ </text>                                                                      │

23:19:10 #1374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1375 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:10 #1376 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1377 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1378 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1379 [Debug] > │ -6.0                                                                         │

23:19:10 #1380 [Debug] > │ </text>                                                                      │

23:19:10 #1381 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1382 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:10 #1383 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1384 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1385 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1386 [Debug] > │ -4.0                                                                         │

23:19:10 #1387 [Debug] > │ </text>                                                                      │

23:19:10 #1388 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1389 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:10 #1390 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1391 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1392 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1393 [Debug] > │ -2.0                                                                         │

23:19:10 #1394 [Debug] > │ </text>                                                                      │

23:19:10 #1395 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1396 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:10 #1397 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1398 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1399 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1400 [Debug] > │ 0.0                                                                          │

23:19:10 #1401 [Debug] > │ </text>                                                                      │

23:19:10 #1402 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1403 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:10 #1404 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1405 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1406 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1407 [Debug] > │ 2.0                                                                          │

23:19:10 #1408 [Debug] > │ </text>                                                                      │

23:19:10 #1409 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1410 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:10 #1411 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1412 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1413 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1414 [Debug] > │ 4.0                                                                          │

23:19:10 #1415 [Debug] > │ </text>                                                                      │

23:19:10 #1416 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1417 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:10 #1418 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1419 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1420 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1421 [Debug] > │ 6.0                                                                          │

23:19:10 #1422 [Debug] > │ </text>                                                                      │

23:19:10 #1423 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1424 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:10 #1425 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1426 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1427 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1428 [Debug] > │ 8.0                                                                          │

23:19:10 #1429 [Debug] > │ </text>                                                                      │

23:19:10 #1430 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1431 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:10 #1432 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:10 #1433 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1434 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1435 [Debug] > │ 10.0                                                                         │

23:19:10 #1436 [Debug] > │ </text>                                                                      │

23:19:10 #1437 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1438 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:10 #1439 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1440 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:10 #1441 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start"                         │

23:19:10 #1442 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1443 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1444 [Debug] > │ -1.0                                                                         │

23:19:10 #1445 [Debug] > │ </text>                                                                      │

23:19:10 #1446 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1447 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:10 #1448 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start"                         │

23:19:10 #1449 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:10 #1450 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:10 #1451 [Debug] > │ -0.5                                                                         │

23:19:10 #1452 [Debug] > │ </text>                                                                      │

23:19:10 #1453 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1454 [Debug] > │ points="585,332 590,332 "/>                                                  │

23:19:10 #1455 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:10 #1456 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1457 [Debug] > │ 0.0                                                                          │

23:19:10 #1458 [Debug] > │ </text>                                                                      │

23:19:10 #1459 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1460 [Debug] > │ points="585,250 590,250 "/>                                                  │

23:19:10 #1461 [Debug] > │ <text x="617" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:10 #1462 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1463 [Debug] > │ 0.5                                                                          │

23:19:10 #1464 [Debug] > │ </text>                                                                      │

23:19:10 #1465 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1466 [Debug] > │ points="585,168 590,168 "/>                                                  │

23:19:10 #1467 [Debug] > │ <text x="617" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:10 #1468 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:10 #1469 [Debug] > │ 1.0                                                                          │

23:19:10 #1470 [Debug] > │ </text>                                                                      │

23:19:10 #1471 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:10 #1472 [Debug] > │ points="585,85 590,85 "/>                                                    │

23:19:10 #1473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:10 #1474 [Debug] > │ points="69,160 72,175 74,190 77,205 79,221 82,238 84,254 87,270 89,287       │

23:19:10 #1475 [Debug] > │ 92,303 94,318 97,332 99,346 102,359 104,371 107,381 109,391 112,399 114,405  │

23:19:10 #1476 [Debug] > │ 117,410 119,413 122,414 124,414 127,413 129,409 132,404 134,398 137,390      │

23:19:10 #1477 [Debug] > │ 139,381 142,370 144,358 147,345 149,331 152,317 154,301 157,285 159,269      │

23:19:10 #1478 [Debug] > │ 162,253 164,236 167,220 169,204 172,188 174,174 177,159 179,146 182,134      │

23:19:10 #1479 [Debug] > │ 184,123 187,113 189,105 192,98 194,92 197,88 199,86 202,85 204,86 207,89     │

23:19:10 #1480 [Debug] > │ 209,93 212,99 214,107 217,115 219,125 222,137 224,149 227,163 229,177        │

23:19:10 #1481 [Debug] > │ 232,192 234,208 237,224 239,240 242,257 244,273 247,289 249,305 252,320      │

23:19:10 #1482 [Debug] > │ 254,335 257,349 259,361 262,373 264,383 267,392 269,400 272,406 274,410      │

23:19:10 #1483 [Debug] > │ 277,413 279,415 282,414 284,412 287,409 289,403 292,397 294,389 297,379      │

23:19:10 #1484 [Debug] > │ 299,368 302,356 304,343 307,329 309,314 312,299 314,283 317,266 319,250      │

23:19:10 #1485 [Debug] > │ 321,234 324,217 326,201 329,186 331,171 334,157 336,144 339,132 341,121      │

23:19:10 #1486 [Debug] > │ 344,111 346,103 349,97 351,91 354,88 356,86 359,85 361,87 364,90 366,94      │

23:19:10 #1487 [Debug] > │ 369,100 371,108 374,117 376,127 379,139 381,151 384,165 386,180 389,195      │

23:19:10 #1488 [Debug] > │ 391,211 394,227 396,243 399,260 401,276 404,292 406,308 409,323 411,337      │

23:19:10 #1489 [Debug] > │ 414,351 416,363 419,375 421,385 424,393 426,401 429,407 431,411 434,414      │

23:19:10 #1490 [Debug] > │ 436,415 439,414 441,412 444,408 446,402 449,395 451,387 454,377 456,366      │

23:19:10 #1491 [Debug] > │ 459,354 461,341 464,326 466,312 469,296 471,280 474,264 476,247 479,231      │

23:19:10 #1492 [Debug] > │ 481,215 484,199 486,183 489,169 491,155 494,142 496,130 499,119 501,110      │

23:19:10 #1493 [Debug] > │ 504,102 506,96 509,91 511,87 514,86 516,86 519,87 521,90 524,95 526,101      │

23:19:10 #1494 [Debug] > │ 529,109 531,119 534,129 536,141 539,154 541,168 544,182 546,197 549,213      │

23:19:10 #1495 [Debug] > │ 551,230 554,246 556,262 559,279 561,295 564,310 566,325 569,340 "/>          │

23:19:10 #1496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:11 #1497 [Debug] > │ points="69,388 72,396 74,403 77,408 79,412 82,414 84,415 87,413 89,410       │

23:19:11 #1498 [Debug] > │ 92,406 94,400 97,392 99,384 102,373 104,362 107,349 109,335 112,321 114,306  │

23:19:11 #1499 [Debug] > │ 117,290 119,274 122,258 124,241 127,225 129,209 132,193 134,178 137,163      │

23:19:11 #1500 [Debug] > │ 139,150 142,137 144,126 147,116 149,107 152,99 154,94 157,89 159,86 162,85   │

23:19:11 #1501 [Debug] > │ 164,86 167,88 169,92 172,97 174,104 177,113 179,122 182,133 184,146 187,159  │

23:19:11 #1502 [Debug] > │ 189,173 192,188 194,203 197,219 199,236 202,252 204,268 207,285 209,301      │

23:19:11 #1503 [Debug] > │ 212,316 214,331 217,345 219,358 222,370 224,380 227,390 229,398 232,404      │

23:19:11 #1504 [Debug] > │ 234,409 237,413 239,414 242,414 244,413 247,410 249,405 252,399 254,391      │

23:19:11 #1505 [Debug] > │ 257,382 259,371 262,360 264,347 267,333 269,319 272,303 274,287 277,271      │

23:19:11 #1506 [Debug] > │ 279,255 282,238 284,222 287,206 289,190 292,175 294,161 297,148 299,135      │

23:19:11 #1507 [Debug] > │ 302,124 304,114 307,106 309,98 312,93 314,89 317,86 319,85 321,86 324,89     │

23:19:11 #1508 [Debug] > │ 326,93 329,98 331,106 334,114 336,124 339,135 341,148 344,161 346,175        │

23:19:11 #1509 [Debug] > │ 349,190 351,206 354,222 356,238 359,255 361,271 364,287 366,303 369,319      │

23:19:11 #1510 [Debug] > │ 371,333 374,347 376,360 379,371 381,382 384,391 386,399 389,405 391,410      │

23:19:11 #1511 [Debug] > │ 394,413 396,414 399,414 401,413 404,409 406,404 409,398 411,390 414,380      │

23:19:11 #1512 [Debug] > │ 416,370 419,358 421,345 424,331 426,316 429,301 431,285 434,268 436,252      │

23:19:11 #1513 [Debug] > │ 439,236 441,219 444,203 446,188 449,173 451,159 454,146 456,133 459,122      │

23:19:11 #1514 [Debug] > │ 461,113 464,104 466,97 469,92 471,88 474,86 476,85 479,86 481,89 484,94      │

23:19:11 #1515 [Debug] > │ 486,99 489,107 491,116 494,126 496,137 499,150 501,163 504,178 506,193       │

23:19:11 #1516 [Debug] > │ 509,209 511,225 514,241 516,258 519,274 521,290 524,306 526,321 529,335      │

23:19:11 #1517 [Debug] > │ 531,349 534,362 536,373 539,384 541,392 544,400 546,406 549,410 551,413      │

23:19:11 #1518 [Debug] > │ 554,415 556,414 559,412 561,408 564,403 566,396 569,388 "/>                  │

23:19:11 #1519 [Debug] > │ <rect x="514" y="227" width="66" height="45" opacity="1" fill="none"         │

23:19:11 #1520 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:11 #1521 [Debug] > │ <text x="554" y="237" dy="0.76em" text-anchor="start"                        │

23:19:11 #1522 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1523 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1524 [Debug] > │ sin                                                                          │

23:19:11 #1525 [Debug] > │ </text>                                                                      │

23:19:11 #1526 [Debug] > │ <text x="554" y="252" dy="0.76em" text-anchor="start"                        │

23:19:11 #1527 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1528 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1529 [Debug] > │ cos                                                                          │

23:19:11 #1530 [Debug] > │ </text>                                                                      │

23:19:11 #1531 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:11 #1532 [Debug] > │ points="524,242 544,242 "/>                                                  │

23:19:11 #1533 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:11 #1534 [Debug] > │ points="524,257 544,257 "/>                                                  │

23:19:11 #1535 [Debug] > │ </svg>                                                                       │

23:19:11 #1536 [Debug] > │                                                                              │

23:19:11 #1537 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:11 #1538 [Debug] >

23:19:11 #1539 [Debug] > ╭─[ 518.68ms - stdout ]────────────────────────────────────────────────────────╮

23:19:11 #1540 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:11 #1541 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:11 #1542 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:11 #1543 [Debug] > │     let v2 : bool = v1 < 201                                                 │

23:19:11 #1544 [Debug] > │     v2                                                                       │

23:19:11 #1545 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:11 #1546 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:11 #1547 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:11 #1548 [Debug] > │     v3                                                                       │

23:19:11 #1549 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:11 #1550 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:11 #1551 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (201)                      │

23:19:11 #1552 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:11 #1553 [Debug] > │     while method1(v1) do                                                     │

23:19:11 #1554 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:11 #1555 [Debug] > │         let v4 : float = float v3                                            │

23:19:11 #1556 [Debug] > │         let v5 : float = 0.1 * v4                                            │

23:19:11 #1557 [Debug] > │         let v6 : float = -10.0 + v5                                          │

23:19:11 #1558 [Debug] > │         v0.[int v3] <- v6                                                    │

23:19:11 #1559 [Debug] > │         let v7 : int32 = v3 + 1                                              │

23:19:11 #1560 [Debug] > │         v1.l0 <- v7                                                          │

23:19:11 #1561 [Debug] > │         ()                                                                   │

23:19:11 #1562 [Debug] > │     let v8 : int32 = v0.Length                                               │

23:19:11 #1563 [Debug] > │     let v9 : (float []) = Array.zeroCreate<float> (v8)                       │

23:19:11 #1564 [Debug] > │     let v10 : Mut0 = {l0 = 0} : Mut0                                         │

23:19:11 #1565 [Debug] > │     while method2(v8, v10) do                                                │

23:19:11 #1566 [Debug] > │         let v12 : int32 = v10.l0                                             │

23:19:11 #1567 [Debug] > │         let v13 : float = v0.[int v12]                                       │

23:19:11 #1568 [Debug] > │         let v14 : float = sin v13                                            │

23:19:11 #1569 [Debug] > │         v9.[int v12] <- v14                                                  │

23:19:11 #1570 [Debug] > │         let v15 : int32 = v12 + 1                                            │

23:19:11 #1571 [Debug] > │         v10.l0 <- v15                                                        │

23:19:11 #1572 [Debug] > │         ()                                                                   │

23:19:11 #1573 [Debug] > │     let v16 : (float []) = Array.zeroCreate<float> (v8)                      │

23:19:11 #1574 [Debug] > │     let v17 : Mut0 = {l0 = 0} : Mut0                                         │

23:19:11 #1575 [Debug] > │     while method2(v8, v17) do                                                │

23:19:11 #1576 [Debug] > │         let v19 : int32 = v17.l0                                             │

23:19:11 #1577 [Debug] > │         let v20 : float = v0.[int v19]                                       │

23:19:11 #1578 [Debug] > │         let v21 : float = cos v20                                            │

23:19:11 #1579 [Debug] > │         v16.[int v19] <- v21                                                 │

23:19:11 #1580 [Debug] > │         let v22 : int32 = v19 + 1                                            │

23:19:11 #1581 [Debug] > │         v17.l0 <- v22                                                        │

23:19:11 #1582 [Debug] > │         ()                                                                   │

23:19:11 #1583 [Debug] > │     let v23 : string = "sin"                                                 │

23:19:11 #1584 [Debug] > │     let v24 : string = "cos"                                                 │

23:19:11 #1585 [Debug] > │     let v25 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:11 #1586 [Debug] > │ (v23, v0, v9); struct (v24, v0, v16)|]                                       │

23:19:11 #1587 [Debug] > │     let v26 : string = "sin cos"                                             │

23:19:11 #1588 [Debug] > │     let v27 : string = "x"                                                   │

23:19:11 #1589 [Debug] > │     let v28 : string = "y"                                                   │

23:19:11 #1590 [Debug] > │     struct (v26, v27, v28, v25)                                              │

23:19:11 #1591 [Debug] > │ method0()                                                                    │

23:19:11 #1592 [Debug] > │                                                                              │

23:19:11 #1593 [Debug] > │                                                                              │

23:19:11 #1594 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:11 #1595 [Debug] >

23:19:11 #1596 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:11 #1597 [Debug] > // // test

23:19:11 #1598 [Debug] >

23:19:11 #1599 [Debug] > inl y_pos y0 vy0 ay t =

23:19:11 #1600 [Debug] >     y0 + vy0 * t + ay * (t |> math.square) / 2

23:19:11 #1601 [Debug] >

23:19:11 #1602 [Debug] > inl x : a _ f64 = am'.init_series 0 5 0.01

23:19:11 #1603 [Debug] > inl y = x |> am.map (y_pos 0 20 -9.8)

23:19:11 #1604 [Debug] > "projectile motion", "time (s)", "", ;[[ "height of projectile (m)", x, y ]]

23:19:11 #1605 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1107-0705-0739aa8fbb82\main.spi

23:19:11 #1606 [Debug] >

23:19:11 #1607 [Debug] > ╭─[ 207.95ms - return value ]──────────────────────────────────────────────────╮

23:19:11 #1608 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:11 #1609 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:11 #1610 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:11 #1611 [Debug] > │ stroke="none"/>                                                              │

23:19:11 #1612 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:11 #1613 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1614 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1615 [Debug] > │ projectile motion                                                            │

23:19:11 #1616 [Debug] > │ </text>                                                                      │

23:19:11 #1617 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │

23:19:11 #1618 [Debug] > │ y2="75"/>                                                                    │

23:19:11 #1619 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:11 #1620 [Debug] > │ y2="75"/>                                                                    │

23:19:11 #1621 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │

23:19:11 #1622 [Debug] > │ y2="75"/>                                                                    │

23:19:11 #1623 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │

23:19:11 #1624 [Debug] > │ y2="75"/>                                                                    │

23:19:11 #1625 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:11 #1626 [Debug] > │ y2="75"/>                                                                    │

23:19:11 #1627 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424"        │

23:19:11 #1628 [Debug] > │ x2="109" y2="75"/>                                                           │

23:19:11 #1629 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:11 #1630 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:11 #1631 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:11 #1632 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:11 #1633 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:11 #1634 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:11 #1635 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424"        │

23:19:11 #1636 [Debug] > │ x2="149" y2="75"/>                                                           │

23:19:11 #1637 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424"        │

23:19:11 #1638 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:11 #1639 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:11 #1640 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:11 #1641 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424"        │

23:19:11 #1642 [Debug] > │ x2="179" y2="75"/>                                                           │

23:19:11 #1643 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:11 #1644 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:11 #1645 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424"        │

23:19:11 #1646 [Debug] > │ x2="199" y2="75"/>                                                           │

23:19:11 #1647 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424"        │

23:19:11 #1648 [Debug] > │ x2="209" y2="75"/>                                                           │

23:19:11 #1649 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:11 #1650 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:11 #1651 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424"        │

23:19:11 #1652 [Debug] > │ x2="229" y2="75"/>                                                           │

23:19:11 #1653 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424"        │

23:19:11 #1654 [Debug] > │ x2="239" y2="75"/>                                                           │

23:19:11 #1655 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:11 #1656 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:11 #1657 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424"        │

23:19:11 #1658 [Debug] > │ x2="259" y2="75"/>                                                           │

23:19:11 #1659 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:11 #1660 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:11 #1661 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424"        │

23:19:11 #1662 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:11 #1663 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424"        │

23:19:11 #1664 [Debug] > │ x2="289" y2="75"/>                                                           │

23:19:11 #1665 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424"        │

23:19:11 #1666 [Debug] > │ x2="299" y2="75"/>                                                           │

23:19:11 #1667 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:11 #1668 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:11 #1669 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:11 #1670 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:11 #1671 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424"        │

23:19:11 #1672 [Debug] > │ x2="329" y2="75"/>                                                           │

23:19:11 #1673 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424"        │

23:19:11 #1674 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:11 #1675 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424"        │

23:19:11 #1676 [Debug] > │ x2="349" y2="75"/>                                                           │

23:19:11 #1677 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424"        │

23:19:11 #1678 [Debug] > │ x2="359" y2="75"/>                                                           │

23:19:11 #1679 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:11 #1680 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:11 #1681 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424"        │

23:19:11 #1682 [Debug] > │ x2="379" y2="75"/>                                                           │

23:19:11 #1683 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424"        │

23:19:11 #1684 [Debug] > │ x2="389" y2="75"/>                                                           │

23:19:11 #1685 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424"        │

23:19:11 #1686 [Debug] > │ x2="399" y2="75"/>                                                           │

23:19:11 #1687 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424"        │

23:19:11 #1688 [Debug] > │ x2="409" y2="75"/>                                                           │

23:19:11 #1689 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:11 #1690 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:11 #1691 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424"        │

23:19:11 #1692 [Debug] > │ x2="429" y2="75"/>                                                           │

23:19:11 #1693 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424"        │

23:19:11 #1694 [Debug] > │ x2="439" y2="75"/>                                                           │

23:19:11 #1695 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424"        │

23:19:11 #1696 [Debug] > │ x2="449" y2="75"/>                                                           │

23:19:11 #1697 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424"        │

23:19:11 #1698 [Debug] > │ x2="459" y2="75"/>                                                           │

23:19:11 #1699 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:11 #1700 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:11 #1701 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424"        │

23:19:11 #1702 [Debug] > │ x2="479" y2="75"/>                                                           │

23:19:11 #1703 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424"        │

23:19:11 #1704 [Debug] > │ x2="489" y2="75"/>                                                           │

23:19:11 #1705 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:11 #1706 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:11 #1707 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424"        │

23:19:11 #1708 [Debug] > │ x2="509" y2="75"/>                                                           │

23:19:11 #1709 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:11 #1710 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:11 #1711 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424"        │

23:19:11 #1712 [Debug] > │ x2="529" y2="75"/>                                                           │

23:19:11 #1713 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424"        │

23:19:11 #1714 [Debug] > │ x2="539" y2="75"/>                                                           │

23:19:11 #1715 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424"        │

23:19:11 #1716 [Debug] > │ x2="549" y2="75"/>                                                           │

23:19:11 #1717 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424"        │

23:19:11 #1718 [Debug] > │ x2="559" y2="75"/>                                                           │

23:19:11 #1719 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:11 #1720 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:11 #1721 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424"        │

23:19:11 #1722 [Debug] > │ x2="579" y2="75"/>                                                           │

23:19:11 #1723 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="411"         │

23:19:11 #1724 [Debug] > │ x2="584" y2="411"/>                                                          │

23:19:11 #1725 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="395"         │

23:19:11 #1726 [Debug] > │ x2="584" y2="395"/>                                                          │

23:19:11 #1727 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380"         │

23:19:11 #1728 [Debug] > │ x2="584" y2="380"/>                                                          │

23:19:11 #1729 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="365"         │

23:19:11 #1730 [Debug] > │ x2="584" y2="365"/>                                                          │

23:19:11 #1731 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349"         │

23:19:11 #1732 [Debug] > │ x2="584" y2="349"/>                                                          │

23:19:11 #1733 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="334"         │

23:19:11 #1734 [Debug] > │ x2="584" y2="334"/>                                                          │

23:19:11 #1735 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="319"         │

23:19:11 #1736 [Debug] > │ x2="584" y2="319"/>                                                          │

23:19:11 #1737 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="303"         │

23:19:11 #1738 [Debug] > │ x2="584" y2="303"/>                                                          │

23:19:11 #1739 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="288"         │

23:19:11 #1740 [Debug] > │ x2="584" y2="288"/>                                                          │

23:19:11 #1741 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273"         │

23:19:11 #1742 [Debug] > │ x2="584" y2="273"/>                                                          │

23:19:11 #1743 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="257"         │

23:19:11 #1744 [Debug] > │ x2="584" y2="257"/>                                                          │

23:19:11 #1745 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="242"         │

23:19:11 #1746 [Debug] > │ x2="584" y2="242"/>                                                          │

23:19:11 #1747 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="227"         │

23:19:11 #1748 [Debug] > │ x2="584" y2="227"/>                                                          │

23:19:11 #1749 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="211"         │

23:19:11 #1750 [Debug] > │ x2="584" y2="211"/>                                                          │

23:19:11 #1751 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="196"         │

23:19:11 #1752 [Debug] > │ x2="584" y2="196"/>                                                          │

23:19:11 #1753 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="181"         │

23:19:11 #1754 [Debug] > │ x2="584" y2="181"/>                                                          │

23:19:11 #1755 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="165"         │

23:19:11 #1756 [Debug] > │ x2="584" y2="165"/>                                                          │

23:19:11 #1757 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="150"         │

23:19:11 #1758 [Debug] > │ x2="584" y2="150"/>                                                          │

23:19:11 #1759 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135"         │

23:19:11 #1760 [Debug] > │ x2="584" y2="135"/>                                                          │

23:19:11 #1761 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="119"         │

23:19:11 #1762 [Debug] > │ x2="584" y2="119"/>                                                          │

23:19:11 #1763 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="104"         │

23:19:11 #1764 [Debug] > │ x2="584" y2="104"/>                                                          │

23:19:11 #1765 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="89" x2="584" │

23:19:11 #1766 [Debug] > │ y2="89"/>                                                                    │

23:19:11 #1767 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:11 #1768 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1769 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1770 [Debug] > │ time (s)                                                                     │

23:19:11 #1771 [Debug] > │ </text>                                                                      │

23:19:11 #1772 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:11 #1773 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1774 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:11 #1775 [Debug] > │                                                                              │

23:19:11 #1776 [Debug] > │ </text>                                                                      │

23:19:11 #1777 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:11 #1778 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1779 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1780 [Debug] > │ time (s)                                                                     │

23:19:11 #1781 [Debug] > │ </text>                                                                      │

23:19:11 #1782 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:11 #1783 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1784 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:11 #1785 [Debug] > │                                                                              │

23:19:11 #1786 [Debug] > │ </text>                                                                      │

23:19:11 #1787 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:11 #1788 [Debug] > │ y2="75"/>                                                                    │

23:19:11 #1789 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:11 #1790 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:11 #1791 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:11 #1792 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:11 #1793 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:11 #1794 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:11 #1795 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:11 #1796 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:11 #1797 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:11 #1798 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:11 #1799 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:11 #1800 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:11 #1801 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:11 #1802 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:11 #1803 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:11 #1804 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:11 #1805 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:11 #1806 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:11 #1807 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:11 #1808 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:11 #1809 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="395"         │

23:19:11 #1810 [Debug] > │ x2="584" y2="395"/>                                                          │

23:19:11 #1811 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="357"         │

23:19:11 #1812 [Debug] > │ x2="584" y2="357"/>                                                          │

23:19:11 #1813 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="319"         │

23:19:11 #1814 [Debug] > │ x2="584" y2="319"/>                                                          │

23:19:11 #1815 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="280"         │

23:19:11 #1816 [Debug] > │ x2="584" y2="280"/>                                                          │

23:19:11 #1817 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="242"         │

23:19:11 #1818 [Debug] > │ x2="584" y2="242"/>                                                          │

23:19:11 #1819 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="204"         │

23:19:11 #1820 [Debug] > │ x2="584" y2="204"/>                                                          │

23:19:11 #1821 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="165"         │

23:19:11 #1822 [Debug] > │ x2="584" y2="165"/>                                                          │

23:19:11 #1823 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="127"         │

23:19:11 #1824 [Debug] > │ x2="584" y2="127"/>                                                          │

23:19:11 #1825 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="89" x2="584" │

23:19:11 #1826 [Debug] > │ y2="89"/>                                                                    │

23:19:11 #1827 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1828 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:11 #1829 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:11 #1830 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1831 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1832 [Debug] > │ 0.0                                                                          │

23:19:11 #1833 [Debug] > │ </text>                                                                      │

23:19:11 #1834 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1835 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:11 #1836 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1837 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1838 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1839 [Debug] > │ 0.5                                                                          │

23:19:11 #1840 [Debug] > │ </text>                                                                      │

23:19:11 #1841 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1842 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:11 #1843 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1844 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1845 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1846 [Debug] > │ 1.0                                                                          │

23:19:11 #1847 [Debug] > │ </text>                                                                      │

23:19:11 #1848 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1849 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:11 #1850 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1851 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1852 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1853 [Debug] > │ 1.5                                                                          │

23:19:11 #1854 [Debug] > │ </text>                                                                      │

23:19:11 #1855 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1856 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:11 #1857 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1858 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1859 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1860 [Debug] > │ 2.0                                                                          │

23:19:11 #1861 [Debug] > │ </text>                                                                      │

23:19:11 #1862 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1863 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:11 #1864 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1865 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1866 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1867 [Debug] > │ 2.5                                                                          │

23:19:11 #1868 [Debug] > │ </text>                                                                      │

23:19:11 #1869 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1870 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:11 #1871 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1872 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1873 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1874 [Debug] > │ 3.0                                                                          │

23:19:11 #1875 [Debug] > │ </text>                                                                      │

23:19:11 #1876 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1877 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:11 #1878 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1879 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1880 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1881 [Debug] > │ 3.5                                                                          │

23:19:11 #1882 [Debug] > │ </text>                                                                      │

23:19:11 #1883 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1884 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:11 #1885 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1886 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1887 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1888 [Debug] > │ 4.0                                                                          │

23:19:11 #1889 [Debug] > │ </text>                                                                      │

23:19:11 #1890 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1891 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:11 #1892 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1893 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1894 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1895 [Debug] > │ 4.5                                                                          │

23:19:11 #1896 [Debug] > │ </text>                                                                      │

23:19:11 #1897 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1898 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:11 #1899 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:11 #1900 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1901 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1902 [Debug] > │ 5.0                                                                          │

23:19:11 #1903 [Debug] > │ </text>                                                                      │

23:19:11 #1904 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1905 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:11 #1906 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1907 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:11 #1908 [Debug] > │ <text x="45" y="395" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1909 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1910 [Debug] > │ -20.0                                                                        │

23:19:11 #1911 [Debug] > │ </text>                                                                      │

23:19:11 #1912 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1913 [Debug] > │ points="49,395 54,395 "/>                                                    │

23:19:11 #1914 [Debug] > │ <text x="45" y="357" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1915 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1916 [Debug] > │ -15.0                                                                        │

23:19:11 #1917 [Debug] > │ </text>                                                                      │

23:19:11 #1918 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1919 [Debug] > │ points="49,357 54,357 "/>                                                    │

23:19:11 #1920 [Debug] > │ <text x="45" y="319" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1921 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1922 [Debug] > │ -10.0                                                                        │

23:19:11 #1923 [Debug] > │ </text>                                                                      │

23:19:11 #1924 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1925 [Debug] > │ points="49,319 54,319 "/>                                                    │

23:19:11 #1926 [Debug] > │ <text x="45" y="280" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1927 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1928 [Debug] > │ -5.0                                                                         │

23:19:11 #1929 [Debug] > │ </text>                                                                      │

23:19:11 #1930 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1931 [Debug] > │ points="49,280 54,280 "/>                                                    │

23:19:11 #1932 [Debug] > │ <text x="45" y="242" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1933 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1934 [Debug] > │ 0.0                                                                          │

23:19:11 #1935 [Debug] > │ </text>                                                                      │

23:19:11 #1936 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1937 [Debug] > │ points="49,242 54,242 "/>                                                    │

23:19:11 #1938 [Debug] > │ <text x="45" y="204" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1939 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1940 [Debug] > │ 5.0                                                                          │

23:19:11 #1941 [Debug] > │ </text>                                                                      │

23:19:11 #1942 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1943 [Debug] > │ points="49,204 54,204 "/>                                                    │

23:19:11 #1944 [Debug] > │ <text x="45" y="165" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1945 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1946 [Debug] > │ 10.0                                                                         │

23:19:11 #1947 [Debug] > │ </text>                                                                      │

23:19:11 #1948 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1949 [Debug] > │ points="49,165 54,165 "/>                                                    │

23:19:11 #1950 [Debug] > │ <text x="45" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #1951 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1952 [Debug] > │ 15.0                                                                         │

23:19:11 #1953 [Debug] > │ </text>                                                                      │

23:19:11 #1954 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1955 [Debug] > │ points="49,127 54,127 "/>                                                    │

23:19:11 #1956 [Debug] > │ <text x="45" y="89" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:11 #1957 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #1958 [Debug] > │ 20.0                                                                         │

23:19:11 #1959 [Debug] > │ </text>                                                                      │

23:19:11 #1960 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1961 [Debug] > │ points="49,89 54,89 "/>                                                      │

23:19:11 #1962 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1963 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:11 #1964 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:11 #1965 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1966 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1967 [Debug] > │ 0.0                                                                          │

23:19:11 #1968 [Debug] > │ </text>                                                                      │

23:19:11 #1969 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1970 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:11 #1971 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #1972 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1973 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1974 [Debug] > │ 0.5                                                                          │

23:19:11 #1975 [Debug] > │ </text>                                                                      │

23:19:11 #1976 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1977 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:11 #1978 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #1979 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1980 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1981 [Debug] > │ 1.0                                                                          │

23:19:11 #1982 [Debug] > │ </text>                                                                      │

23:19:11 #1983 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1984 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:11 #1985 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #1986 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1987 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1988 [Debug] > │ 1.5                                                                          │

23:19:11 #1989 [Debug] > │ </text>                                                                      │

23:19:11 #1990 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1991 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:11 #1992 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #1993 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #1994 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #1995 [Debug] > │ 2.0                                                                          │

23:19:11 #1996 [Debug] > │ </text>                                                                      │

23:19:11 #1997 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #1998 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:11 #1999 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #2000 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2001 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2002 [Debug] > │ 2.5                                                                          │

23:19:11 #2003 [Debug] > │ </text>                                                                      │

23:19:11 #2004 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2005 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:11 #2006 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #2007 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2008 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2009 [Debug] > │ 3.0                                                                          │

23:19:11 #2010 [Debug] > │ </text>                                                                      │

23:19:11 #2011 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2012 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:11 #2013 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #2014 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2015 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2016 [Debug] > │ 3.5                                                                          │

23:19:11 #2017 [Debug] > │ </text>                                                                      │

23:19:11 #2018 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2019 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:11 #2020 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #2021 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2022 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2023 [Debug] > │ 4.0                                                                          │

23:19:11 #2024 [Debug] > │ </text>                                                                      │

23:19:11 #2025 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2026 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:11 #2027 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #2028 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2029 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2030 [Debug] > │ 4.5                                                                          │

23:19:11 #2031 [Debug] > │ </text>                                                                      │

23:19:11 #2032 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2033 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:11 #2034 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:11 #2035 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2036 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2037 [Debug] > │ 5.0                                                                          │

23:19:11 #2038 [Debug] > │ </text>                                                                      │

23:19:11 #2039 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2040 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:11 #2041 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2042 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:11 #2043 [Debug] > │ <text x="595" y="395" dy="0.5ex" text-anchor="start"                         │

23:19:11 #2044 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2045 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2046 [Debug] > │ -20.0                                                                        │

23:19:11 #2047 [Debug] > │ </text>                                                                      │

23:19:11 #2048 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2049 [Debug] > │ points="585,395 590,395 "/>                                                  │

23:19:11 #2050 [Debug] > │ <text x="595" y="357" dy="0.5ex" text-anchor="start"                         │

23:19:11 #2051 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2052 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2053 [Debug] > │ -15.0                                                                        │

23:19:11 #2054 [Debug] > │ </text>                                                                      │

23:19:11 #2055 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2056 [Debug] > │ points="585,357 590,357 "/>                                                  │

23:19:11 #2057 [Debug] > │ <text x="595" y="319" dy="0.5ex" text-anchor="start"                         │

23:19:11 #2058 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2059 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2060 [Debug] > │ -10.0                                                                        │

23:19:11 #2061 [Debug] > │ </text>                                                                      │

23:19:11 #2062 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2063 [Debug] > │ points="585,319 590,319 "/>                                                  │

23:19:11 #2064 [Debug] > │ <text x="622" y="280" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:11 #2065 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #2066 [Debug] > │ -5.0                                                                         │

23:19:11 #2067 [Debug] > │ </text>                                                                      │

23:19:11 #2068 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2069 [Debug] > │ points="585,280 590,280 "/>                                                  │

23:19:11 #2070 [Debug] > │ <text x="622" y="242" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:11 #2071 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #2072 [Debug] > │ 0.0                                                                          │

23:19:11 #2073 [Debug] > │ </text>                                                                      │

23:19:11 #2074 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2075 [Debug] > │ points="585,242 590,242 "/>                                                  │

23:19:11 #2076 [Debug] > │ <text x="622" y="204" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:11 #2077 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #2078 [Debug] > │ 5.0                                                                          │

23:19:11 #2079 [Debug] > │ </text>                                                                      │

23:19:11 #2080 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2081 [Debug] > │ points="585,204 590,204 "/>                                                  │

23:19:11 #2082 [Debug] > │ <text x="622" y="165" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:11 #2083 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #2084 [Debug] > │ 10.0                                                                         │

23:19:11 #2085 [Debug] > │ </text>                                                                      │

23:19:11 #2086 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2087 [Debug] > │ points="585,165 590,165 "/>                                                  │

23:19:11 #2088 [Debug] > │ <text x="622" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:11 #2089 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #2090 [Debug] > │ 15.0                                                                         │

23:19:11 #2091 [Debug] > │ </text>                                                                      │

23:19:11 #2092 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2093 [Debug] > │ points="585,127 590,127 "/>                                                  │

23:19:11 #2094 [Debug] > │ <text x="622" y="89" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:11 #2095 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:11 #2096 [Debug] > │ 20.0                                                                         │

23:19:11 #2097 [Debug] > │ </text>                                                                      │

23:19:11 #2098 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:11 #2099 [Debug] > │ points="585,89 590,89 "/>                                                    │

23:19:11 #2100 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:11 #2101 [Debug] > │ points="69,242 70,240 71,239 72,237 73,236 74,234 75,233 76,231 77,230       │

23:19:11 #2102 [Debug] > │ 78,228 79,227 80,226 81,224 82,223 83,221 84,220 85,218 86,217 87,216 88,214 │

23:19:11 #2103 [Debug] > │ 89,213 90,211 91,210 92,209 93,207 94,206 95,205 96,203 97,202 98,201 99,199 │

23:19:11 #2104 [Debug] > │ 100,198 101,197 102,195 103,194 104,193 105,192 106,190 107,189 108,188      │

23:19:11 #2105 [Debug] > │ 109,187 110,185 111,184 112,183 113,182 114,181 115,179 116,178 117,177      │

23:19:11 #2106 [Debug] > │ 118,176 119,175 120,173 121,172 122,171 123,170 124,169 125,168 126,167      │

23:19:11 #2107 [Debug] > │ 127,166 128,165 129,163 130,162 131,161 132,160 133,159 134,158 135,157      │

23:19:11 #2108 [Debug] > │ 136,156 137,155 138,154 139,153 140,152 141,151 142,150 143,149 144,148      │

23:19:11 #2109 [Debug] > │ 145,147 146,146 147,145 148,144 149,143 150,142 151,141 152,140 153,140      │

23:19:11 #2110 [Debug] > │ 154,139 155,138 156,137 157,136 158,135 159,134 160,133 161,133 162,132      │

23:19:11 #2111 [Debug] > │ 163,131 164,130 165,129 166,128 167,128 168,127 169,126 170,125 171,125      │

23:19:11 #2112 [Debug] > │ 172,124 173,123 174,122 175,122 176,121 177,120 178,119 179,119 180,118      │

23:19:11 #2113 [Debug] > │ 181,117 182,117 183,116 184,115 185,115 186,114 187,113 188,113 189,112      │

23:19:11 #2114 [Debug] > │ 190,111 191,111 192,110 193,109 194,109 195,108 196,108 197,107 198,107      │

23:19:11 #2115 [Debug] > │ 199,106 200,105 201,105 202,104 203,104 204,103 205,103 206,102 207,102      │

23:19:11 #2116 [Debug] > │ 208,101 209,101 210,100 211,100 212,99 213,99 214,99 215,98 216,98 217,97    │

23:19:11 #2117 [Debug] > │ 218,97 219,96 220,96 221,96 222,95 223,95 224,94 225,94 226,94 227,93 228,93 │

23:19:11 #2118 [Debug] > │ 229,93 230,92 231,92 232,92 233,91 234,91 235,91 236,91 237,90 238,90 239,90 │

23:19:11 #2119 [Debug] > │ 240,89 241,89 242,89 243,89 244,89 245,88 246,88 247,88 248,88 249,88 250,87 │

23:19:11 #2120 [Debug] > │ 251,87 252,87 253,87 254,87 255,87 256,86 257,86 258,86 259,86 260,86 261,86 │

23:19:11 #2121 [Debug] > │ 262,86 263,86 264,86 265,86 266,86 267,86 268,85 269,85 270,85 271,85 272,85 │

23:19:11 #2122 [Debug] > │ 273,85 274,85 275,85 276,85 277,85 278,85 279,86 280,86 281,86 282,86 283,86 │

23:19:11 #2123 [Debug] > │ 284,86 285,86 286,86 287,86 288,86 289,86 290,86 291,87 292,87 293,87 294,87 │

23:19:11 #2124 [Debug] > │ 295,87 296,87 297,88 298,88 299,88 300,88 301,88 302,89 303,89 304,89 305,89 │

23:19:11 #2125 [Debug] > │ 306,89 307,90 308,90 309,90 310,91 311,91 312,91 313,91 314,92 315,92 316,92 │

23:19:11 #2126 [Debug] > │ 317,93 318,93 319,93 320,94 321,94 322,94 323,95 324,95 325,96 326,96 327,96 │

23:19:11 #2127 [Debug] > │ 328,97 329,97 330,98 331,98 332,98 333,99 334,99 335,100 336,100 337,101     │

23:19:11 #2128 [Debug] > │ 338,101 339,102 340,102 341,103 342,103 343,104 344,104 345,105 346,105      │

23:19:11 #2129 [Debug] > │ 347,106 348,106 349,107 350,108 351,108 352,109 353,109 354,110 355,111      │

23:19:11 #2130 [Debug] > │ 356,111 357,112 358,112 359,113 360,114 361,114 362,115 363,116 364,116      │

23:19:11 #2131 [Debug] > │ 365,117 366,118 367,119 368,119 369,120 370,121 371,121 372,122 373,123      │

23:19:11 #2132 [Debug] > │ 374,124 375,124 376,125 377,126 378,127 379,128 380,128 381,129 382,130      │

23:19:11 #2133 [Debug] > │ 383,131 384,132 385,132 386,133 387,134 388,135 389,136 390,137 391,138      │

23:19:11 #2134 [Debug] > │ 392,139 393,139 394,140 395,141 396,142 397,143 398,144 399,145 400,146      │

23:19:11 #2135 [Debug] > │ 401,147 402,148 403,149 404,150 405,151 406,152 407,153 408,154 409,155      │

23:19:11 #2136 [Debug] > │ 410,156 411,157 412,158 413,159 414,160 415,161 416,162 417,163 418,164      │

23:19:11 #2137 [Debug] > │ 419,165 420,167 421,168 422,169 423,170 424,171 425,172 426,173 427,174      │

23:19:11 #2138 [Debug] > │ 428,176 429,177 430,178 431,179 432,180 433,182 434,183 435,184 436,185      │

23:19:11 #2139 [Debug] > │ 437,186 438,188 439,189 440,190 441,191 442,193 443,194 444,195 445,197      │

23:19:11 #2140 [Debug] > │ 446,198 447,199 448,200 449,202 450,203 451,204 452,206 453,207 454,208      │

23:19:11 #2141 [Debug] > │ 455,210 456,211 457,213 458,214 459,215 460,217 461,218 462,220 463,221      │

23:19:11 #2142 [Debug] > │ 464,222 465,224 466,225 467,227 468,228 469,230 470,231 471,233 472,234      │

23:19:11 #2143 [Debug] > │ 473,236 474,237 475,239 476,240 477,242 478,243 479,245 480,246 481,248      │

23:19:11 #2144 [Debug] > │ 482,249 483,251 484,253 485,254 486,256 487,257 488,259 489,261 490,262      │

23:19:11 #2145 [Debug] > │ 491,264 492,266 493,267 494,269 495,271 496,272 497,274 498,276 499,277      │

23:19:11 #2146 [Debug] > │ 500,279 501,281 502,282 503,284 504,286 505,288 506,289 507,291 508,293      │

23:19:11 #2147 [Debug] > │ 509,295 510,296 511,298 512,300 513,302 514,304 515,305 516,307 517,309      │

23:19:11 #2148 [Debug] > │ 518,311 519,313 520,315 521,316 522,318 523,320 524,322 525,324 526,326      │

23:19:11 #2149 [Debug] > │ 527,328 528,330 529,332 530,334 531,335 532,337 533,339 534,341 535,343      │

23:19:11 #2150 [Debug] > │ 536,345 537,347 538,349 539,351 540,353 541,355 542,357 543,359 544,361      │

23:19:11 #2151 [Debug] > │ 545,363 546,365 547,367 548,370 549,372 550,374 551,376 552,378 553,380      │

23:19:11 #2152 [Debug] > │ 554,382 555,384 556,386 557,388 558,391 559,393 560,395 561,397 562,399      │

23:19:11 #2153 [Debug] > │ 563,401 564,404 565,406 566,408 567,410 568,412 569,415 "/>                  │

23:19:11 #2154 [Debug] > │ <rect x="399" y="235" width="181" height="30" opacity="1" fill="none"        │

23:19:11 #2155 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:11 #2156 [Debug] > │ <text x="439" y="245" dy="0.76em" text-anchor="start"                        │

23:19:11 #2157 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:11 #2158 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:11 #2159 [Debug] > │ height of projectile (m)                                                     │

23:19:11 #2160 [Debug] > │ </text>                                                                      │

23:19:11 #2161 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:11 #2162 [Debug] > │ points="409,250 429,250 "/>                                                  │

23:19:11 #2163 [Debug] > │ </svg>                                                                       │

23:19:11 #2164 [Debug] > │                                                                              │

23:19:11 #2165 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:11 #2166 [Debug] >

23:19:11 #2167 [Debug] > ╭─[ 550.34ms - stdout ]────────────────────────────────────────────────────────╮

23:19:11 #2168 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:11 #2169 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:11 #2170 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:11 #2171 [Debug] > │     let v2 : bool = v1 < 501                                                 │

23:19:11 #2172 [Debug] > │     v2                                                                       │

23:19:11 #2173 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:11 #2174 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:11 #2175 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:11 #2176 [Debug] > │     v3                                                                       │

23:19:11 #2177 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:11 #2178 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:11 #2179 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (501)                      │

23:19:11 #2180 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:11 #2181 [Debug] > │     while method1(v1) do                                                     │

23:19:11 #2182 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:11 #2183 [Debug] > │         let v4 : float = float v3                                            │

23:19:11 #2184 [Debug] > │         let v5 : float = 0.01 * v4                                           │

23:19:11 #2185 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:11 #2186 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:11 #2187 [Debug] > │         v1.l0 <- v6                                                          │

23:19:11 #2188 [Debug] > │         ()                                                                   │

23:19:11 #2189 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:11 #2190 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:11 #2191 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:11 #2192 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:11 #2193 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:11 #2194 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:11 #2195 [Debug] > │         let v13 : float = 20.0 * v12                                         │

23:19:11 #2196 [Debug] > │         let v14 : float = v12 ** 2.0                                         │

23:19:11 #2197 [Debug] > │         let v15 : float = -9.8 * v14                                         │

23:19:11 #2198 [Debug] > │         let v16 : float = v15 / 2.0                                          │

23:19:11 #2199 [Debug] > │         let v17 : float = v13 + v16                                          │

23:19:11 #2200 [Debug] > │         v8.[int v11] <- v17                                                  │

23:19:11 #2201 [Debug] > │         let v18 : int32 = v11 + 1                                            │

23:19:11 #2202 [Debug] > │         v9.l0 <- v18                                                         │

23:19:11 #2203 [Debug] > │         ()                                                                   │

23:19:11 #2204 [Debug] > │     let v19 : string = "height of projectile (m)"                            │

23:19:11 #2205 [Debug] > │     let v20 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:11 #2206 [Debug] > │ (v19, v0, v8)|]                                                              │

23:19:11 #2207 [Debug] > │     let v21 : string = "projectile motion"                                   │

23:19:11 #2208 [Debug] > │     let v22 : string = "time (s)"                                            │

23:19:11 #2209 [Debug] > │     let v23 : string = ""                                                    │

23:19:11 #2210 [Debug] > │     struct (v21, v22, v23, v20)                                              │

23:19:11 #2211 [Debug] > │ method0()                                                                    │

23:19:11 #2212 [Debug] > │                                                                              │

23:19:11 #2213 [Debug] > │                                                                              │

23:19:11 #2214 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:11 #2215 [Debug] >

23:19:11 #2216 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:11 #2217 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:11 #2218 [Debug] > │ ## velocity_cf                                                               │

23:19:11 #2219 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:11 #2220 [Debug] >

23:19:11 #2221 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:11 #2222 [Debug] > type mass = f64

23:19:11 #2223 [Debug] > type time = f64

23:19:11 #2224 [Debug] > type position = f64

23:19:11 #2225 [Debug] > type velocity = f64

23:19:11 #2226 [Debug] > type force = f64

23:19:11 #2227 [Debug] >

23:19:11 #2228 [Debug] > type velocity_cf = mass -> velocity -> list force -> (time -> velocity)

23:19:11 #2229 [Debug] >

23:19:11 #2230 [Debug] > inl velocity_cf m v0 fs =

23:19:11 #2231 [Debug] >     inl f_net = fs |> listm'.sum

23:19:11 #2232 [Debug] >     inl a0 = f_net / m

23:19:11 #2233 [Debug] >     inl v t = v0 + a0 * t

23:19:11 #2234 [Debug] >     v

23:19:11 #2235 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1165-6567-690c453e4b60\main.spi

23:19:11 #2236 [Debug] >

23:19:11 #2237 [Debug] > ╭─[ 150.70ms - stdout ]────────────────────────────────────────────────────────╮

23:19:11 #2238 [Debug] > │ ()                                                                           │

23:19:11 #2239 [Debug] > │                                                                              │

23:19:11 #2240 [Debug] > │                                                                              │

23:19:11 #2241 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:11 #2242 [Debug] >

23:19:11 #2243 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:11 #2244 [Debug] > // // test

23:19:11 #2245 [Debug] >

23:19:11 #2246 [Debug] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 0

23:19:11 #2247 [Debug] > |> _equal 0.6

23:19:11 #2248 [Debug] >

23:19:11 #2249 [Debug] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 1

23:19:11 #2250 [Debug] > |> _equal 0.2

23:19:11 #2251 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1180-8090-8242751a1616\main.spi

23:19:12 #2252 [Debug] >

23:19:12 #2253 [Debug] > ╭─[ 214.71ms - stdout ]────────────────────────────────────────────────────────╮

23:19:12 #2254 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:12 #2255 [Debug] > │     let v0 : string = $"_equal / actual: %A{0.6} / expected: %A{0.6}"        │

23:19:12 #2256 [Debug] > │     let v1 : string = $"_equal / actual: %A{0.2} / expected: %A{0.2}"        │

23:19:12 #2257 [Debug] > │     ()                                                                       │

23:19:12 #2258 [Debug] > │ method0()                                                                    │

23:19:12 #2259 [Debug] > │                                                                              │

23:19:12 #2260 [Debug] > │                                                                              │

23:19:12 #2261 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:12 #2262 [Debug] >

23:19:12 #2263 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:12 #2264 [Debug] > // // test

23:19:12 #2265 [Debug] >

23:19:12 #2266 [Debug] > inl x = am'.init_series 0 4 0.1

23:19:12 #2267 [Debug] > inl y = x |> am.map (velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]])

23:19:12 #2268 [Debug] > "car on an air track", "time (s)", "", ;[[ "velocity of car (m/s)", x, y ]]

23:19:12 #2269 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1202-0288-0320f301141a\main.spi

23:19:12 #2270 [Debug] >

23:19:12 #2271 [Debug] > ╭─[ 200.07ms - return value ]──────────────────────────────────────────────────╮

23:19:12 #2272 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:12 #2273 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:12 #2274 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:12 #2275 [Debug] > │ stroke="none"/>                                                              │

23:19:12 #2276 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:12 #2277 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2278 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2279 [Debug] > │ car on an air track                                                          │

23:19:12 #2280 [Debug] > │ </text>                                                                      │

23:19:12 #2281 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │

23:19:12 #2282 [Debug] > │ y2="75"/>                                                                    │

23:19:12 #2283 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:12 #2284 [Debug] > │ y2="75"/>                                                                    │

23:19:12 #2285 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │

23:19:12 #2286 [Debug] > │ y2="75"/>                                                                    │

23:19:12 #2287 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │

23:19:12 #2288 [Debug] > │ y2="75"/>                                                                    │

23:19:12 #2289 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424"        │

23:19:12 #2290 [Debug] > │ x2="107" y2="75"/>                                                           │

23:19:12 #2291 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:12 #2292 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:12 #2293 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424"        │

23:19:12 #2294 [Debug] > │ x2="132" y2="75"/>                                                           │

23:19:12 #2295 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424"        │

23:19:12 #2296 [Debug] > │ x2="144" y2="75"/>                                                           │

23:19:12 #2297 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424"        │

23:19:12 #2298 [Debug] > │ x2="157" y2="75"/>                                                           │

23:19:12 #2299 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:12 #2300 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:12 #2301 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424"        │

23:19:12 #2302 [Debug] > │ x2="182" y2="75"/>                                                           │

23:19:12 #2303 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424"        │

23:19:12 #2304 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:12 #2305 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424"        │

23:19:12 #2306 [Debug] > │ x2="207" y2="75"/>                                                           │

23:19:12 #2307 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:12 #2308 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:12 #2309 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="232" y1="424"        │

23:19:12 #2310 [Debug] > │ x2="232" y2="75"/>                                                           │

23:19:12 #2311 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424"        │

23:19:12 #2312 [Debug] > │ x2="244" y2="75"/>                                                           │

23:19:12 #2313 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="257" y1="424"        │

23:19:12 #2314 [Debug] > │ x2="257" y2="75"/>                                                           │

23:19:12 #2315 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:12 #2316 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:12 #2317 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="282" y1="424"        │

23:19:12 #2318 [Debug] > │ x2="282" y2="75"/>                                                           │

23:19:12 #2319 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424"        │

23:19:12 #2320 [Debug] > │ x2="294" y2="75"/>                                                           │

23:19:12 #2321 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424"        │

23:19:12 #2322 [Debug] > │ x2="307" y2="75"/>                                                           │

23:19:12 #2323 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:12 #2324 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:12 #2325 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424"        │

23:19:12 #2326 [Debug] > │ x2="331" y2="75"/>                                                           │

23:19:12 #2327 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424"        │

23:19:12 #2328 [Debug] > │ x2="344" y2="75"/>                                                           │

23:19:12 #2329 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="356" y1="424"        │

23:19:12 #2330 [Debug] > │ x2="356" y2="75"/>                                                           │

23:19:12 #2331 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:12 #2332 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:12 #2333 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="381" y1="424"        │

23:19:12 #2334 [Debug] > │ x2="381" y2="75"/>                                                           │

23:19:12 #2335 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424"        │

23:19:12 #2336 [Debug] > │ x2="394" y2="75"/>                                                           │

23:19:12 #2337 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="406" y1="424"        │

23:19:12 #2338 [Debug] > │ x2="406" y2="75"/>                                                           │

23:19:12 #2339 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:12 #2340 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:12 #2341 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="431" y1="424"        │

23:19:12 #2342 [Debug] > │ x2="431" y2="75"/>                                                           │

23:19:12 #2343 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424"        │

23:19:12 #2344 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:12 #2345 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="456" y1="424"        │

23:19:12 #2346 [Debug] > │ x2="456" y2="75"/>                                                           │

23:19:12 #2347 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:12 #2348 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:12 #2349 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="481" y1="424"        │

23:19:12 #2350 [Debug] > │ x2="481" y2="75"/>                                                           │

23:19:12 #2351 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424"        │

23:19:12 #2352 [Debug] > │ x2="494" y2="75"/>                                                           │

23:19:12 #2353 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="506" y1="424"        │

23:19:12 #2354 [Debug] > │ x2="506" y2="75"/>                                                           │

23:19:12 #2355 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:12 #2356 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:12 #2357 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="531" y1="424"        │

23:19:12 #2358 [Debug] > │ x2="531" y2="75"/>                                                           │

23:19:12 #2359 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424"        │

23:19:12 #2360 [Debug] > │ x2="544" y2="75"/>                                                           │

23:19:12 #2361 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="556" y1="424"        │

23:19:12 #2362 [Debug] > │ x2="556" y2="75"/>                                                           │

23:19:12 #2363 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:12 #2364 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:12 #2365 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:12 #2366 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:12 #2367 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404"         │

23:19:12 #2368 [Debug] > │ x2="584" y2="404"/>                                                          │

23:19:12 #2369 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="394"         │

23:19:12 #2370 [Debug] > │ x2="584" y2="394"/>                                                          │

23:19:12 #2371 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="384"         │

23:19:12 #2372 [Debug] > │ x2="584" y2="384"/>                                                          │

23:19:12 #2373 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="373"         │

23:19:12 #2374 [Debug] > │ x2="584" y2="373"/>                                                          │

23:19:12 #2375 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="363"         │

23:19:12 #2376 [Debug] > │ x2="584" y2="363"/>                                                          │

23:19:12 #2377 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="353"         │

23:19:12 #2378 [Debug] > │ x2="584" y2="353"/>                                                          │

23:19:12 #2379 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="343"         │

23:19:12 #2380 [Debug] > │ x2="584" y2="343"/>                                                          │

23:19:12 #2381 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332"         │

23:19:12 #2382 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:12 #2383 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="322"         │

23:19:12 #2384 [Debug] > │ x2="584" y2="322"/>                                                          │

23:19:12 #2385 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="312"         │

23:19:12 #2386 [Debug] > │ x2="584" y2="312"/>                                                          │

23:19:12 #2387 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="301"         │

23:19:12 #2388 [Debug] > │ x2="584" y2="301"/>                                                          │

23:19:12 #2389 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="291"         │

23:19:12 #2390 [Debug] > │ x2="584" y2="291"/>                                                          │

23:19:12 #2391 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="281"         │

23:19:12 #2392 [Debug] > │ x2="584" y2="281"/>                                                          │

23:19:12 #2393 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="271"         │

23:19:12 #2394 [Debug] > │ x2="584" y2="271"/>                                                          │

23:19:12 #2395 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="260"         │

23:19:12 #2396 [Debug] > │ x2="584" y2="260"/>                                                          │

23:19:12 #2397 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250"         │

23:19:12 #2398 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:12 #2399 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="240"         │

23:19:12 #2400 [Debug] > │ x2="584" y2="240"/>                                                          │

23:19:12 #2401 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="229"         │

23:19:12 #2402 [Debug] > │ x2="584" y2="229"/>                                                          │

23:19:12 #2403 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="219"         │

23:19:12 #2404 [Debug] > │ x2="584" y2="219"/>                                                          │

23:19:12 #2405 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="209"         │

23:19:12 #2406 [Debug] > │ x2="584" y2="209"/>                                                          │

23:19:12 #2407 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="199"         │

23:19:12 #2408 [Debug] > │ x2="584" y2="199"/>                                                          │

23:19:12 #2409 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="188"         │

23:19:12 #2410 [Debug] > │ x2="584" y2="188"/>                                                          │

23:19:12 #2411 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="178"         │

23:19:12 #2412 [Debug] > │ x2="584" y2="178"/>                                                          │

23:19:12 #2413 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168"         │

23:19:12 #2414 [Debug] > │ x2="584" y2="168"/>                                                          │

23:19:12 #2415 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="157"         │

23:19:12 #2416 [Debug] > │ x2="584" y2="157"/>                                                          │

23:19:12 #2417 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="147"         │

23:19:12 #2418 [Debug] > │ x2="584" y2="147"/>                                                          │

23:19:12 #2419 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137"         │

23:19:12 #2420 [Debug] > │ x2="584" y2="137"/>                                                          │

23:19:12 #2421 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="127"         │

23:19:12 #2422 [Debug] > │ x2="584" y2="127"/>                                                          │

23:19:12 #2423 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="116"         │

23:19:12 #2424 [Debug] > │ x2="584" y2="116"/>                                                          │

23:19:12 #2425 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106"         │

23:19:12 #2426 [Debug] > │ x2="584" y2="106"/>                                                          │

23:19:12 #2427 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="96" x2="584" │

23:19:12 #2428 [Debug] > │ y2="96"/>                                                                    │

23:19:12 #2429 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:12 #2430 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2431 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2432 [Debug] > │ time (s)                                                                     │

23:19:12 #2433 [Debug] > │ </text>                                                                      │

23:19:12 #2434 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:12 #2435 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2436 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:12 #2437 [Debug] > │                                                                              │

23:19:12 #2438 [Debug] > │ </text>                                                                      │

23:19:12 #2439 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:12 #2440 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2441 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2442 [Debug] > │ time (s)                                                                     │

23:19:12 #2443 [Debug] > │ </text>                                                                      │

23:19:12 #2444 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2445 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2446 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:12 #2447 [Debug] > │                                                                              │

23:19:12 #2448 [Debug] > │ </text>                                                                      │

23:19:12 #2449 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:12 #2450 [Debug] > │ y2="75"/>                                                                    │

23:19:12 #2451 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="132" y1="424"        │

23:19:12 #2452 [Debug] > │ x2="132" y2="75"/>                                                           │

23:19:12 #2453 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="194" y1="424"        │

23:19:12 #2454 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:12 #2455 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="257" y1="424"        │

23:19:12 #2456 [Debug] > │ x2="257" y2="75"/>                                                           │

23:19:12 #2457 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:12 #2458 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:12 #2459 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="381" y1="424"        │

23:19:12 #2460 [Debug] > │ x2="381" y2="75"/>                                                           │

23:19:12 #2461 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="444" y1="424"        │

23:19:12 #2462 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:12 #2463 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="506" y1="424"        │

23:19:12 #2464 [Debug] > │ x2="506" y2="75"/>                                                           │

23:19:12 #2465 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:12 #2466 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:12 #2467 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:12 #2468 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:12 #2469 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="373"         │

23:19:12 #2470 [Debug] > │ x2="584" y2="373"/>                                                          │

23:19:12 #2471 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332"         │

23:19:12 #2472 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:12 #2473 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="291"         │

23:19:12 #2474 [Debug] > │ x2="584" y2="291"/>                                                          │

23:19:12 #2475 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250"         │

23:19:12 #2476 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:12 #2477 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="209"         │

23:19:12 #2478 [Debug] > │ x2="584" y2="209"/>                                                          │

23:19:12 #2479 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="168"         │

23:19:12 #2480 [Debug] > │ x2="584" y2="168"/>                                                          │

23:19:12 #2481 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="127"         │

23:19:12 #2482 [Debug] > │ x2="584" y2="127"/>                                                          │

23:19:12 #2483 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:12 #2484 [Debug] > │ y2="85"/>                                                                    │

23:19:12 #2485 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2486 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:12 #2487 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:12 #2488 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2489 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2490 [Debug] > │ 0.0                                                                          │

23:19:12 #2491 [Debug] > │ </text>                                                                      │

23:19:12 #2492 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2493 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:12 #2494 [Debug] > │ <text x="132" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2495 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2496 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2497 [Debug] > │ 0.5                                                                          │

23:19:12 #2498 [Debug] > │ </text>                                                                      │

23:19:12 #2499 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2500 [Debug] > │ points="132,69 132,74 "/>                                                    │

23:19:12 #2501 [Debug] > │ <text x="194" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2502 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2503 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2504 [Debug] > │ 1.0                                                                          │

23:19:12 #2505 [Debug] > │ </text>                                                                      │

23:19:12 #2506 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2507 [Debug] > │ points="194,69 194,74 "/>                                                    │

23:19:12 #2508 [Debug] > │ <text x="257" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2509 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2510 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2511 [Debug] > │ 1.5                                                                          │

23:19:12 #2512 [Debug] > │ </text>                                                                      │

23:19:12 #2513 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2514 [Debug] > │ points="257,69 257,74 "/>                                                    │

23:19:12 #2515 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2516 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2517 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2518 [Debug] > │ 2.0                                                                          │

23:19:12 #2519 [Debug] > │ </text>                                                                      │

23:19:12 #2520 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2521 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:12 #2522 [Debug] > │ <text x="381" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2523 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2524 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2525 [Debug] > │ 2.5                                                                          │

23:19:12 #2526 [Debug] > │ </text>                                                                      │

23:19:12 #2527 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2528 [Debug] > │ points="381,69 381,74 "/>                                                    │

23:19:12 #2529 [Debug] > │ <text x="444" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2530 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2531 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2532 [Debug] > │ 3.0                                                                          │

23:19:12 #2533 [Debug] > │ </text>                                                                      │

23:19:12 #2534 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2535 [Debug] > │ points="444,69 444,74 "/>                                                    │

23:19:12 #2536 [Debug] > │ <text x="506" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2537 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2538 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2539 [Debug] > │ 3.5                                                                          │

23:19:12 #2540 [Debug] > │ </text>                                                                      │

23:19:12 #2541 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2542 [Debug] > │ points="506,69 506,74 "/>                                                    │

23:19:12 #2543 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:12 #2544 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2545 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2546 [Debug] > │ 4.0                                                                          │

23:19:12 #2547 [Debug] > │ </text>                                                                      │

23:19:12 #2548 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2549 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:12 #2550 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2551 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:12 #2552 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2553 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2554 [Debug] > │ -1.0                                                                         │

23:19:12 #2555 [Debug] > │ </text>                                                                      │

23:19:12 #2556 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2557 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:12 #2558 [Debug] > │ <text x="45" y="373" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2559 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2560 [Debug] > │ -0.8                                                                         │

23:19:12 #2561 [Debug] > │ </text>                                                                      │

23:19:12 #2562 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2563 [Debug] > │ points="49,373 54,373 "/>                                                    │

23:19:12 #2564 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2565 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2566 [Debug] > │ -0.6                                                                         │

23:19:12 #2567 [Debug] > │ </text>                                                                      │

23:19:12 #2568 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2569 [Debug] > │ points="49,332 54,332 "/>                                                    │

23:19:12 #2570 [Debug] > │ <text x="45" y="291" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2571 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2572 [Debug] > │ -0.4                                                                         │

23:19:12 #2573 [Debug] > │ </text>                                                                      │

23:19:12 #2574 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2575 [Debug] > │ points="49,291 54,291 "/>                                                    │

23:19:12 #2576 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2577 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2578 [Debug] > │ -0.2                                                                         │

23:19:12 #2579 [Debug] > │ </text>                                                                      │

23:19:12 #2580 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2581 [Debug] > │ points="49,250 54,250 "/>                                                    │

23:19:12 #2582 [Debug] > │ <text x="45" y="209" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2583 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2584 [Debug] > │ -0.0                                                                         │

23:19:12 #2585 [Debug] > │ </text>                                                                      │

23:19:12 #2586 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2587 [Debug] > │ points="49,209 54,209 "/>                                                    │

23:19:12 #2588 [Debug] > │ <text x="45" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2589 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2590 [Debug] > │ 0.2                                                                          │

23:19:12 #2591 [Debug] > │ </text>                                                                      │

23:19:12 #2592 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2593 [Debug] > │ points="49,168 54,168 "/>                                                    │

23:19:12 #2594 [Debug] > │ <text x="45" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2595 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2596 [Debug] > │ 0.4                                                                          │

23:19:12 #2597 [Debug] > │ </text>                                                                      │

23:19:12 #2598 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2599 [Debug] > │ points="49,127 54,127 "/>                                                    │

23:19:12 #2600 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:12 #2601 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2602 [Debug] > │ 0.6                                                                          │

23:19:12 #2603 [Debug] > │ </text>                                                                      │

23:19:12 #2604 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2605 [Debug] > │ points="49,85 54,85 "/>                                                      │

23:19:12 #2606 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2607 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:12 #2608 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:12 #2609 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2610 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2611 [Debug] > │ 0.0                                                                          │

23:19:12 #2612 [Debug] > │ </text>                                                                      │

23:19:12 #2613 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2614 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:12 #2615 [Debug] > │ <text x="132" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2616 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2617 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2618 [Debug] > │ 0.5                                                                          │

23:19:12 #2619 [Debug] > │ </text>                                                                      │

23:19:12 #2620 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2621 [Debug] > │ points="132,425 132,430 "/>                                                  │

23:19:12 #2622 [Debug] > │ <text x="194" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2623 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2624 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2625 [Debug] > │ 1.0                                                                          │

23:19:12 #2626 [Debug] > │ </text>                                                                      │

23:19:12 #2627 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2628 [Debug] > │ points="194,425 194,430 "/>                                                  │

23:19:12 #2629 [Debug] > │ <text x="257" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2630 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2631 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2632 [Debug] > │ 1.5                                                                          │

23:19:12 #2633 [Debug] > │ </text>                                                                      │

23:19:12 #2634 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2635 [Debug] > │ points="257,425 257,430 "/>                                                  │

23:19:12 #2636 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2637 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2638 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2639 [Debug] > │ 2.0                                                                          │

23:19:12 #2640 [Debug] > │ </text>                                                                      │

23:19:12 #2641 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2642 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:12 #2643 [Debug] > │ <text x="381" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2644 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2645 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2646 [Debug] > │ 2.5                                                                          │

23:19:12 #2647 [Debug] > │ </text>                                                                      │

23:19:12 #2648 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2649 [Debug] > │ points="381,425 381,430 "/>                                                  │

23:19:12 #2650 [Debug] > │ <text x="444" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2651 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2652 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2653 [Debug] > │ 3.0                                                                          │

23:19:12 #2654 [Debug] > │ </text>                                                                      │

23:19:12 #2655 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2656 [Debug] > │ points="444,425 444,430 "/>                                                  │

23:19:12 #2657 [Debug] > │ <text x="506" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2658 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2659 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2660 [Debug] > │ 3.5                                                                          │

23:19:12 #2661 [Debug] > │ </text>                                                                      │

23:19:12 #2662 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2663 [Debug] > │ points="506,425 506,430 "/>                                                  │

23:19:12 #2664 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:12 #2665 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2666 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2667 [Debug] > │ 4.0                                                                          │

23:19:12 #2668 [Debug] > │ </text>                                                                      │

23:19:12 #2669 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2670 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:12 #2671 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2672 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:12 #2673 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start"                         │

23:19:12 #2674 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2675 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2676 [Debug] > │ -1.0                                                                         │

23:19:12 #2677 [Debug] > │ </text>                                                                      │

23:19:12 #2678 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2679 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:12 #2680 [Debug] > │ <text x="595" y="373" dy="0.5ex" text-anchor="start"                         │

23:19:12 #2681 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2682 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2683 [Debug] > │ -0.8                                                                         │

23:19:12 #2684 [Debug] > │ </text>                                                                      │

23:19:12 #2685 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2686 [Debug] > │ points="585,373 590,373 "/>                                                  │

23:19:12 #2687 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start"                         │

23:19:12 #2688 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2689 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2690 [Debug] > │ -0.6                                                                         │

23:19:12 #2691 [Debug] > │ </text>                                                                      │

23:19:12 #2692 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2693 [Debug] > │ points="585,332 590,332 "/>                                                  │

23:19:12 #2694 [Debug] > │ <text x="595" y="291" dy="0.5ex" text-anchor="start"                         │

23:19:12 #2695 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2696 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2697 [Debug] > │ -0.4                                                                         │

23:19:12 #2698 [Debug] > │ </text>                                                                      │

23:19:12 #2699 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2700 [Debug] > │ points="585,291 590,291 "/>                                                  │

23:19:12 #2701 [Debug] > │ <text x="595" y="250" dy="0.5ex" text-anchor="start"                         │

23:19:12 #2702 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2703 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2704 [Debug] > │ -0.2                                                                         │

23:19:12 #2705 [Debug] > │ </text>                                                                      │

23:19:12 #2706 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2707 [Debug] > │ points="585,250 590,250 "/>                                                  │

23:19:12 #2708 [Debug] > │ <text x="595" y="209" dy="0.5ex" text-anchor="start"                         │

23:19:12 #2709 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2710 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2711 [Debug] > │ -0.0                                                                         │

23:19:12 #2712 [Debug] > │ </text>                                                                      │

23:19:12 #2713 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2714 [Debug] > │ points="585,209 590,209 "/>                                                  │

23:19:12 #2715 [Debug] > │ <text x="617" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:12 #2716 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2717 [Debug] > │ 0.2                                                                          │

23:19:12 #2718 [Debug] > │ </text>                                                                      │

23:19:12 #2719 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2720 [Debug] > │ points="585,168 590,168 "/>                                                  │

23:19:12 #2721 [Debug] > │ <text x="617" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:12 #2722 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2723 [Debug] > │ 0.4                                                                          │

23:19:12 #2724 [Debug] > │ </text>                                                                      │

23:19:12 #2725 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2726 [Debug] > │ points="585,127 590,127 "/>                                                  │

23:19:12 #2727 [Debug] > │ <text x="617" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:12 #2728 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:12 #2729 [Debug] > │ 0.6                                                                          │

23:19:12 #2730 [Debug] > │ </text>                                                                      │

23:19:12 #2731 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:12 #2732 [Debug] > │ points="585,85 590,85 "/>                                                    │

23:19:12 #2733 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:12 #2734 [Debug] > │ points="69,85 82,94 94,102 107,110 119,118 132,127 144,135 157,143 169,151   │

23:19:12 #2735 [Debug] > │ 182,159 194,168 207,176 219,184 232,192 244,201 257,209 269,217 282,225      │

23:19:12 #2736 [Debug] > │ 294,234 307,242 319,250 331,258 344,266 356,275 369,283 381,291 394,299      │

23:19:12 #2737 [Debug] > │ 406,308 419,316 431,324 444,332 456,341 469,349 481,357 494,365 506,373      │

23:19:12 #2738 [Debug] > │ 519,382 531,390 544,398 556,406 569,415 "/>                                  │

23:19:12 #2739 [Debug] > │ <rect x="415" y="235" width="165" height="30" opacity="1" fill="none"        │

23:19:12 #2740 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:12 #2741 [Debug] > │ <text x="455" y="245" dy="0.76em" text-anchor="start"                        │

23:19:12 #2742 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:12 #2743 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:12 #2744 [Debug] > │ velocity of car (m/s)                                                        │

23:19:12 #2745 [Debug] > │ </text>                                                                      │

23:19:12 #2746 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:12 #2747 [Debug] > │ points="425,250 445,250 "/>                                                  │

23:19:12 #2748 [Debug] > │ </svg>                                                                       │

23:19:12 #2749 [Debug] > │                                                                              │

23:19:12 #2750 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:12 #2751 [Debug] >

23:19:12 #2752 [Debug] > ╭─[ 497.91ms - stdout ]────────────────────────────────────────────────────────╮

23:19:12 #2753 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:12 #2754 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:12 #2755 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:12 #2756 [Debug] > │     let v2 : bool = v1 < 41                                                  │

23:19:12 #2757 [Debug] > │     v2                                                                       │

23:19:12 #2758 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:12 #2759 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:12 #2760 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:12 #2761 [Debug] > │     v3                                                                       │

23:19:12 #2762 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:12 #2763 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:12 #2764 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (41)                       │

23:19:12 #2765 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:12 #2766 [Debug] > │     while method1(v1) do                                                     │

23:19:12 #2767 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:12 #2768 [Debug] > │         let v4 : float = float v3                                            │

23:19:12 #2769 [Debug] > │         let v5 : float = 0.1 * v4                                            │

23:19:12 #2770 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:12 #2771 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:12 #2772 [Debug] > │         v1.l0 <- v6                                                          │

23:19:12 #2773 [Debug] > │         ()                                                                   │

23:19:12 #2774 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:12 #2775 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:12 #2776 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:12 #2777 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:12 #2778 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:12 #2779 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:12 #2780 [Debug] > │         let v13 : float = -0.39999999999999997 * v12                         │

23:19:12 #2781 [Debug] > │         let v14 : float = 0.6 + v13                                          │

23:19:12 #2782 [Debug] > │         v8.[int v11] <- v14                                                  │

23:19:12 #2783 [Debug] > │         let v15 : int32 = v11 + 1                                            │

23:19:12 #2784 [Debug] > │         v9.l0 <- v15                                                         │

23:19:12 #2785 [Debug] > │         ()                                                                   │

23:19:12 #2786 [Debug] > │     let v16 : string = "velocity of car (m/s)"                               │

23:19:12 #2787 [Debug] > │     let v17 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:12 #2788 [Debug] > │ (v16, v0, v8)|]                                                              │

23:19:12 #2789 [Debug] > │     let v18 : string = "car on an air track"                                 │

23:19:12 #2790 [Debug] > │     let v19 : string = "time (s)"                                            │

23:19:12 #2791 [Debug] > │     let v20 : string = ""                                                    │

23:19:12 #2792 [Debug] > │     struct (v18, v19, v20, v17)                                              │

23:19:12 #2793 [Debug] > │ method0()                                                                    │

23:19:12 #2794 [Debug] > │                                                                              │

23:19:12 #2795 [Debug] > │                                                                              │

23:19:12 #2796 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:12 #2797 [Debug] >

23:19:12 #2798 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:12 #2799 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:12 #2800 [Debug] > │ ## derivative                                                                │

23:19:12 #2801 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:12 #2802 [Debug] >

23:19:12 #2803 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:12 #2804 [Debug] > type derivative = (f64 -> f64) -> f64 -> f64

23:19:12 #2805 [Debug] >

23:19:12 #2806 [Debug] > inl derivative dt : derivative =

23:19:12 #2807 [Debug] >     fun x t =>

23:19:12 #2808 [Debug] >         (x (t + dt / 2) - x (t - dt / 2)) / dt

23:19:12 #2809 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1255-5594-525a8fd83e48\main.spi

23:19:12 #2810 [Debug] >

23:19:12 #2811 [Debug] > ╭─[ 160.97ms - stdout ]────────────────────────────────────────────────────────╮

23:19:12 #2812 [Debug] > │ ()                                                                           │

23:19:12 #2813 [Debug] > │                                                                              │

23:19:12 #2814 [Debug] > │                                                                              │

23:19:12 #2815 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:12 #2816 [Debug] >

23:19:12 #2817 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:12 #2818 [Debug] > // // test

23:19:12 #2819 [Debug] >

23:19:12 #2820 [Debug] > derivative 1 (fun x => x ** 4 / 4) 1 - 1

23:19:12 #2821 [Debug] > |> _almost_equal 0.25

23:19:12 #2822 [Debug] >

23:19:12 #2823 [Debug] > derivative 0.001 (fun x => x ** 4 / 4) 1 - 1

23:19:12 #2824 [Debug] > |> _almost_equal 0.0000002499998827953931

23:19:12 #2825 [Debug] >

23:19:12 #2826 [Debug] > derivative 0.000001 (fun x => x ** 4 / 4) 1 - 1

23:19:12 #2827 [Debug] > |> _almost_equal 0.000000000001000088900582341

23:19:12 #2828 [Debug] >

23:19:12 #2829 [Debug] > derivative 0.000000001 (fun x => x ** 4 / 4) 1 - 1

23:19:12 #2830 [Debug] > |> _almost_equal 0.00000008274037099909037

23:19:12 #2831 [Debug] >

23:19:12 #2832 [Debug] > derivative 0.000000000001 (fun x => x ** 4 / 4) 1 - 1

23:19:12 #2833 [Debug] > |> _almost_equal 0.00008890058234101161

23:19:12 #2834 [Debug] >

23:19:12 #2835 [Debug] > derivative 0.000000000000001 (fun x => x ** 4 / 4) 1 - 1

23:19:12 #2836 [Debug] > |> _almost_equal -0.0007992778373592246

23:19:12 #2837 [Debug] >

23:19:12 #2838 [Debug] > derivative 0.000000000000000001 (fun x => x ** 4 / 4) 1 - 1

23:19:12 #2839 [Debug] > |> _almost_equal -1

23:19:12 #2840 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1272-7213-7983d19d66bd\main.spi

23:19:12 #2841 [Debug] >

23:19:12 #2842 [Debug] > ╭─[ 182.48ms - stdout ]────────────────────────────────────────────────────────╮

23:19:12 #2843 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:12 #2844 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{0.25} / expected:         │

23:19:12 #2845 [Debug] > │ %A{0.25}"                                                                    │

23:19:12 #2846 [Debug] > │     let v1 : string = $"_almost_equal / actual: %A{2.499998827953931E-07} /  │

23:19:12 #2847 [Debug] > │ expected: %A{2.499998827953931E-07}"                                         │

23:19:12 #2848 [Debug] > │     let v2 : string = $"_almost_equal / actual: %A{1.000088900582341E-12} /  │

23:19:12 #2849 [Debug] > │ expected: %A{1.000088900582341E-12}"                                         │

23:19:12 #2850 [Debug] > │     let v3 : string = $"_almost_equal / actual: %A{8.274037099909037E-08} /  │

23:19:12 #2851 [Debug] > │ expected: %A{8.274037099909037E-08}"                                         │

23:19:12 #2852 [Debug] > │     let v4 : string = $"_almost_equal / actual: %A{8.890058234101161E-05} /  │

23:19:12 #2853 [Debug] > │ expected: %A{8.890058234101161E-05}"                                         │

23:19:12 #2854 [Debug] > │     let v5 : string = $"_almost_equal / actual: %A{-0.0007992778373592246} / │

23:19:12 #2855 [Debug] > │ expected: %A{-0.0007992778373592246}"                                        │

23:19:12 #2856 [Debug] > │     let v6 : string = $"_almost_equal / actual: %A{-1.0} / expected:         │

23:19:12 #2857 [Debug] > │ %A{-1.0}"                                                                    │

23:19:12 #2858 [Debug] > │     ()                                                                       │

23:19:12 #2859 [Debug] > │ method0()                                                                    │

23:19:12 #2860 [Debug] > │                                                                              │

23:19:12 #2861 [Debug] > │                                                                              │

23:19:12 #2862 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:12 #2863 [Debug] >

23:19:12 #2864 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:12 #2865 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:12 #2866 [Debug] > │ ## integration                                                               │

23:19:12 #2867 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:12 #2868 [Debug] >

23:19:12 #2869 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:12 #2870 [Debug] > type integration = (f64 -> f64) -> f64 -> f64 -> f64

23:19:12 #2871 [Debug] >

23:19:12 #2872 [Debug] > inl integral dt : integration =

23:19:12 #2873 [Debug] >     fun f a b =>

23:19:12 #2874 [Debug] >         inl rec loop t y =

23:19:12 #2875 [Debug] >             if t < b

23:19:12 #2876 [Debug] >             then loop (t + dt) (y + f t * dt)

23:19:12 #2877 [Debug] >             else t, y

23:19:12 #2878 [Debug] >         loop (a + dt / 2) 0

23:19:12 #2879 [Debug] >         |> snd

23:19:13 #2880 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1291-9139-9501da67c39e\main.spi

23:19:13 #2881 [Debug] >

23:19:13 #2882 [Debug] > ╭─[ 193.55ms - stdout ]────────────────────────────────────────────────────────╮

23:19:13 #2883 [Debug] > │ ()                                                                           │

23:19:13 #2884 [Debug] > │                                                                              │

23:19:13 #2885 [Debug] > │                                                                              │

23:19:13 #2886 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:13 #2887 [Debug] >

23:19:13 #2888 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:13 #2889 [Debug] > // // test

23:19:13 #2890 [Debug] >

23:19:13 #2891 [Debug] > integral 0.01 math.square 0 1

23:19:13 #2892 [Debug] > |> _almost_equal 0.33332500000000004

23:19:13 #2893 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1311-1102-16247754259c\main.spi

23:19:13 #2894 [Debug] >

23:19:13 #2895 [Debug] > ╭─[ 147.38ms - stdout ]────────────────────────────────────────────────────────╮

23:19:13 #2896 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:13 #2897 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{0.3333250000000004} /     │

23:19:13 #2898 [Debug] > │ expected: %A{0.33332500000000004}"                                           │

23:19:13 #2899 [Debug] > │     ()                                                                       │

23:19:13 #2900 [Debug] > │ method0()                                                                    │

23:19:13 #2901 [Debug] > │                                                                              │

23:19:13 #2902 [Debug] > │                                                                              │

23:19:13 #2903 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:13 #2904 [Debug] >

23:19:13 #2905 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:13 #2906 [Debug] > inl integral' dt : integration =

23:19:13 #2907 [Debug] >     fun f a b =>

23:19:13 #2908 [Debug] >         listm'.init_series (a + dt / 2) (b - dt / 2) dt

23:19:13 #2909 [Debug] >         |> listm.map (f >> (*) dt)

23:19:13 #2910 [Debug] >         |> listm'.sum

23:19:13 #2911 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1326-2625-2cec8788b16d\main.spi

23:19:13 #2912 [Debug] >

23:19:13 #2913 [Debug] > ╭─[ 183.44ms - stdout ]────────────────────────────────────────────────────────╮

23:19:13 #2914 [Debug] > │ ()                                                                           │

23:19:13 #2915 [Debug] > │                                                                              │

23:19:13 #2916 [Debug] > │                                                                              │

23:19:13 #2917 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:13 #2918 [Debug] >

23:19:13 #2919 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:13 #2920 [Debug] > // // test

23:19:13 #2921 [Debug] >

23:19:13 #2922 [Debug] > integral' 0.1 math.square 0 1

23:19:13 #2923 [Debug] > |> _almost_equal (integral 0.1 math.square 0 1)

23:19:13 #2924 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1344-4498-4138b6d2b16c\main.spi

23:19:13 #2925 [Debug] >

23:19:13 #2926 [Debug] > ╭─[ 186.18ms - stdout ]────────────────────────────────────────────────────────╮

23:19:13 #2927 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:13 #2928 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{0.3325000000000001} /     │

23:19:13 #2929 [Debug] > │ expected: %A{0.33249999999999996}"                                           │

23:19:13 #2930 [Debug] > │     ()                                                                       │

23:19:13 #2931 [Debug] > │ method0()                                                                    │

23:19:13 #2932 [Debug] > │                                                                              │

23:19:13 #2933 [Debug] > │                                                                              │

23:19:13 #2934 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:13 #2935 [Debug] >

23:19:13 #2936 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:13 #2937 [Debug] > inl integral'' dt : integration =

23:19:13 #2938 [Debug] >     fun f a b =>

23:19:13 #2939 [Debug] >         am'.init_series (a + dt / 2) (b - dt / 2) dt

23:19:13 #2940 [Debug] >         |> am.map (f >> (*) dt)

23:19:13 #2941 [Debug] >         |> am'.sum

23:19:13 #2942 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1363-6392-6c42824f32c6\main.spi

23:19:13 #2943 [Debug] >

23:19:13 #2944 [Debug] > ╭─[ 183.69ms - stdout ]────────────────────────────────────────────────────────╮

23:19:13 #2945 [Debug] > │ ()                                                                           │

23:19:13 #2946 [Debug] > │                                                                              │

23:19:13 #2947 [Debug] > │                                                                              │

23:19:13 #2948 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:13 #2949 [Debug] >

23:19:13 #2950 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:13 #2951 [Debug] > // // test

23:19:13 #2952 [Debug] >

23:19:13 #2953 [Debug] > integral'' 0.01 math.square 0 1

23:19:13 #2954 [Debug] > |> _almost_equal (integral 0.01 math.square 0 1)

23:19:13 #2955 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1382-8247-8bcaac49d227\main.spi

23:19:14 #2956 [Debug] >

23:19:14 #2957 [Debug] > ╭─[ 222.73ms - stdout ]────────────────────────────────────────────────────────╮

23:19:14 #2958 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:14 #2959 [Debug] > │ and Mut1 = {mutable l0 : int32; mutable l1 : float}                          │

23:19:14 #2960 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:14 #2961 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:14 #2962 [Debug] > │     let v2 : bool = v1 < 100                                                 │

23:19:14 #2963 [Debug] > │     v2                                                                       │

23:19:14 #2964 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:14 #2965 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:14 #2966 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:14 #2967 [Debug] > │     v3                                                                       │

23:19:14 #2968 [Debug] > │ and method3 (v0 : int32, v1 : Mut1) : bool =                                 │

23:19:14 #2969 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:14 #2970 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:14 #2971 [Debug] > │     v3                                                                       │

23:19:14 #2972 [Debug] > │ and method0 () : unit =                                                      │

23:19:14 #2973 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (100)                      │

23:19:14 #2974 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:14 #2975 [Debug] > │     while method1(v1) do                                                     │

23:19:14 #2976 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:14 #2977 [Debug] > │         let v4 : float = float v3                                            │

23:19:14 #2978 [Debug] > │         let v5 : float = 0.01 * v4                                           │

23:19:14 #2979 [Debug] > │         let v6 : float = 0.005 + v5                                          │

23:19:14 #2980 [Debug] > │         v0.[int v3] <- v6                                                    │

23:19:14 #2981 [Debug] > │         let v7 : int32 = v3 + 1                                              │

23:19:14 #2982 [Debug] > │         v1.l0 <- v7                                                          │

23:19:14 #2983 [Debug] > │         ()                                                                   │

23:19:14 #2984 [Debug] > │     let v8 : int32 = v0.Length                                               │

23:19:14 #2985 [Debug] > │     let v9 : (float []) = Array.zeroCreate<float> (v8)                       │

23:19:14 #2986 [Debug] > │     let v10 : Mut0 = {l0 = 0} : Mut0                                         │

23:19:14 #2987 [Debug] > │     while method2(v8, v10) do                                                │

23:19:14 #2988 [Debug] > │         let v12 : int32 = v10.l0                                             │

23:19:14 #2989 [Debug] > │         let v13 : float = v0.[int v12]                                       │

23:19:14 #2990 [Debug] > │         let v14 : float = v13 ** 2.0                                         │

23:19:14 #2991 [Debug] > │         let v15 : float = 0.01 * v14                                         │

23:19:14 #2992 [Debug] > │         v9.[int v12] <- v15                                                  │

23:19:14 #2993 [Debug] > │         let v16 : int32 = v12 + 1                                            │

23:19:14 #2994 [Debug] > │         v10.l0 <- v16                                                        │

23:19:14 #2995 [Debug] > │         ()                                                                   │

23:19:14 #2996 [Debug] > │     let v17 : int32 = v9.Length                                              │

23:19:14 #2997 [Debug] > │     let v18 : Mut1 = {l0 = 0; l1 = 0.0} : Mut1                               │

23:19:14 #2998 [Debug] > │     while method3(v17, v18) do                                               │

23:19:14 #2999 [Debug] > │         let v20 : int32 = v18.l0                                             │

23:19:14 #3000 [Debug] > │         let v21 : float = v18.l1                                             │

23:19:14 #3001 [Debug] > │         let v22 : float = v9.[int v20]                                       │

23:19:14 #3002 [Debug] > │         let v23 : float = v21 + v22                                          │

23:19:14 #3003 [Debug] > │         let v24 : int32 = v20 + 1                                            │

23:19:14 #3004 [Debug] > │         v18.l0 <- v24                                                        │

23:19:14 #3005 [Debug] > │         v18.l1 <- v23                                                        │

23:19:14 #3006 [Debug] > │         ()                                                                   │

23:19:14 #3007 [Debug] > │     let v25 : float = v18.l1                                                 │

23:19:14 #3008 [Debug] > │     let v26 : float = 0.3333250000000004 - v25                               │

23:19:14 #3009 [Debug] > │     let v27 : float =  -v26                                                  │

23:19:14 #3010 [Debug] > │     let v28 : bool = v26 >= v27                                              │

23:19:14 #3011 [Debug] > │     let v29 : float =                                                        │

23:19:14 #3012 [Debug] > │         if v28 then                                                          │

23:19:14 #3013 [Debug] > │             v26                                                              │

23:19:14 #3014 [Debug] > │         else                                                                 │

23:19:14 #3015 [Debug] > │             v27                                                              │

23:19:14 #3016 [Debug] > │     let v30 : bool = v29 < 1E-08                                             │

23:19:14 #3017 [Debug] > │     let v31 : string = $"_almost_equal / actual: %A{v25} / expected:         │

23:19:14 #3018 [Debug] > │ %A{0.3333250000000004}"                                                      │

23:19:14 #3019 [Debug] > │     let v32 : bool = v30 = false                                             │

23:19:14 #3020 [Debug] > │     if v32 then                                                              │

23:19:14 #3021 [Debug] > │         failwith<unit> v31                                                   │

23:19:14 #3022 [Debug] > │ method0()                                                                    │

23:19:14 #3023 [Debug] > │                                                                              │

23:19:14 #3024 [Debug] > │                                                                              │

23:19:14 #3025 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:14 #3026 [Debug] >

23:19:14 #3027 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:14 #3028 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:14 #3029 [Debug] > │ ## anti_derivative                                                           │

23:19:14 #3030 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:14 #3031 [Debug] >

23:19:14 #3032 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:14 #3033 [Debug] > inl anti_derivative dt v0 a t =

23:19:14 #3034 [Debug] >     v0 + integral' dt a 0 t

23:19:14 #3035 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1408-0823-0597c796d08b\main.spi

23:19:14 #3036 [Debug] >

23:19:14 #3037 [Debug] > ╭─[ 164.07ms - stdout ]────────────────────────────────────────────────────────╮

23:19:14 #3038 [Debug] > │ ()                                                                           │

23:19:14 #3039 [Debug] > │                                                                              │

23:19:14 #3040 [Debug] > │                                                                              │

23:19:14 #3041 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:14 #3042 [Debug] >

23:19:14 #3043 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:14 #3044 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:14 #3045 [Debug] > │ ## velocity_ft                                                               │

23:19:14 #3046 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:14 #3047 [Debug] >

23:19:14 #3048 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:14 #3049 [Debug] > type velocity_ft = mass -> velocity -> list (time -> force) -> (time ->

23:19:14 #3050 [Debug] > velocity)

23:19:14 #3051 [Debug] >

23:19:14 #3052 [Debug] > inl velocity_ft dt : velocity_ft =

23:19:14 #3053 [Debug] >     fun m v0 fs =>

23:19:14 #3054 [Debug] >         inl f_net t = fs |> listm.map (fun f => f t) |> listm'.sum

23:19:14 #3055 [Debug] >         inl a t = f_net t / m

23:19:14 #3056 [Debug] >         anti_derivative dt v0 a

23:19:14 #3057 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1425-2524-20b8868941d7\main.spi

23:19:14 #3058 [Debug] >

23:19:14 #3059 [Debug] > ╭─[ 228.77ms - stdout ]────────────────────────────────────────────────────────╮

23:19:14 #3060 [Debug] > │ ()                                                                           │

23:19:14 #3061 [Debug] > │                                                                              │

23:19:14 #3062 [Debug] > │                                                                              │

23:19:14 #3063 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:14 #3064 [Debug] >

23:19:14 #3065 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:14 #3066 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:14 #3067 [Debug] > │ ## position_ft                                                               │

23:19:14 #3068 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:14 #3069 [Debug] >

23:19:14 #3070 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:14 #3071 [Debug] > type position_ft = mass -> position -> velocity -> list (time -> force) -> (time

23:19:14 #3072 [Debug] > -> position)

23:19:14 #3073 [Debug] >

23:19:14 #3074 [Debug] > inl position_ft dt : position_ft =

23:19:14 #3075 [Debug] >     fun m x0 v0 fs =>

23:19:14 #3076 [Debug] >         velocity_ft dt m v0 fs

23:19:14 #3077 [Debug] >         |> anti_derivative dt x0

23:19:14 #3078 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1448-4845-49317aeb9fd7\main.spi

23:19:14 #3079 [Debug] >

23:19:14 #3080 [Debug] > ╭─[ 167.58ms - stdout ]────────────────────────────────────────────────────────╮

23:19:14 #3081 [Debug] > │ ()                                                                           │

23:19:14 #3082 [Debug] > │                                                                              │

23:19:14 #3083 [Debug] > │                                                                              │

23:19:14 #3084 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:14 #3085 [Debug] >

23:19:14 #3086 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:14 #3087 [Debug] > // // test

23:19:14 #3088 [Debug] >

23:19:14 #3089 [Debug] > inl pedal_coast (t : time) : force =

23:19:14 #3090 [Debug] >     inl t_cycle = 20

23:19:14 #3091 [Debug] >     inl n_complete : i32 = t / t_cycle |> conv

23:19:14 #3092 [Debug] >     inl remainder = t - conv n_complete * t_cycle

23:19:14 #3093 [Debug] >     if remainder > 0 && remainder < 10

23:19:14 #3094 [Debug] >     then 10

23:19:14 #3095 [Debug] >     else 0

23:19:14 #3096 [Debug] >

23:19:14 #3097 [Debug] > inl x = am'.init_series -5 45 0.1

23:19:14 #3098 [Debug] > inl y = x |> am.map pedal_coast

23:19:14 #3099 [Debug] > "child pedaling then coasting", "time (s)", "", ;[[ "force on bike (N)", x, y ]]

23:19:14 #3100 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1465-6557-6dcd3f64d636\main.spi

23:19:14 #3101 [Debug] >

23:19:14 #3102 [Debug] > ╭─[ 223.26ms - return value ]──────────────────────────────────────────────────╮

23:19:14 #3103 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:14 #3104 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:14 #3105 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:14 #3106 [Debug] > │ stroke="none"/>                                                              │

23:19:14 #3107 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:14 #3108 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3109 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3110 [Debug] > │ child pedaling then coasting                                                 │

23:19:14 #3111 [Debug] > │ </text>                                                                      │

23:19:14 #3112 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │

23:19:14 #3113 [Debug] > │ y2="75"/>                                                                    │

23:19:14 #3114 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:14 #3115 [Debug] > │ y2="75"/>                                                                    │

23:19:14 #3116 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │

23:19:14 #3117 [Debug] > │ y2="75"/>                                                                    │

23:19:14 #3118 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │

23:19:14 #3119 [Debug] > │ y2="75"/>                                                                    │

23:19:14 #3120 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:14 #3121 [Debug] > │ y2="75"/>                                                                    │

23:19:14 #3122 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424"        │

23:19:14 #3123 [Debug] > │ x2="109" y2="75"/>                                                           │

23:19:14 #3124 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:14 #3125 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:14 #3126 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:14 #3127 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:14 #3128 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:14 #3129 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:14 #3130 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424"        │

23:19:14 #3131 [Debug] > │ x2="149" y2="75"/>                                                           │

23:19:14 #3132 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424"        │

23:19:14 #3133 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:14 #3134 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:14 #3135 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:14 #3136 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424"        │

23:19:14 #3137 [Debug] > │ x2="179" y2="75"/>                                                           │

23:19:14 #3138 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:14 #3139 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:14 #3140 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424"        │

23:19:14 #3141 [Debug] > │ x2="199" y2="75"/>                                                           │

23:19:14 #3142 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424"        │

23:19:14 #3143 [Debug] > │ x2="209" y2="75"/>                                                           │

23:19:14 #3144 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:14 #3145 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:14 #3146 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424"        │

23:19:14 #3147 [Debug] > │ x2="229" y2="75"/>                                                           │

23:19:14 #3148 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424"        │

23:19:14 #3149 [Debug] > │ x2="239" y2="75"/>                                                           │

23:19:14 #3150 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:14 #3151 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:14 #3152 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424"        │

23:19:14 #3153 [Debug] > │ x2="259" y2="75"/>                                                           │

23:19:14 #3154 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:14 #3155 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:14 #3156 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424"        │

23:19:14 #3157 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:14 #3158 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424"        │

23:19:14 #3159 [Debug] > │ x2="289" y2="75"/>                                                           │

23:19:14 #3160 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424"        │

23:19:14 #3161 [Debug] > │ x2="299" y2="75"/>                                                           │

23:19:14 #3162 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:14 #3163 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:14 #3164 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:14 #3165 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:14 #3166 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424"        │

23:19:14 #3167 [Debug] > │ x2="329" y2="75"/>                                                           │

23:19:14 #3168 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424"        │

23:19:14 #3169 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:14 #3170 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424"        │

23:19:14 #3171 [Debug] > │ x2="349" y2="75"/>                                                           │

23:19:14 #3172 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424"        │

23:19:14 #3173 [Debug] > │ x2="359" y2="75"/>                                                           │

23:19:14 #3174 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:14 #3175 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:14 #3176 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424"        │

23:19:14 #3177 [Debug] > │ x2="379" y2="75"/>                                                           │

23:19:14 #3178 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424"        │

23:19:14 #3179 [Debug] > │ x2="389" y2="75"/>                                                           │

23:19:14 #3180 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424"        │

23:19:14 #3181 [Debug] > │ x2="399" y2="75"/>                                                           │

23:19:14 #3182 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424"        │

23:19:14 #3183 [Debug] > │ x2="409" y2="75"/>                                                           │

23:19:14 #3184 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:14 #3185 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:14 #3186 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424"        │

23:19:14 #3187 [Debug] > │ x2="429" y2="75"/>                                                           │

23:19:14 #3188 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424"        │

23:19:14 #3189 [Debug] > │ x2="439" y2="75"/>                                                           │

23:19:14 #3190 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424"        │

23:19:14 #3191 [Debug] > │ x2="449" y2="75"/>                                                           │

23:19:14 #3192 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424"        │

23:19:14 #3193 [Debug] > │ x2="459" y2="75"/>                                                           │

23:19:14 #3194 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:14 #3195 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:14 #3196 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424"        │

23:19:14 #3197 [Debug] > │ x2="479" y2="75"/>                                                           │

23:19:14 #3198 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424"        │

23:19:14 #3199 [Debug] > │ x2="489" y2="75"/>                                                           │

23:19:14 #3200 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:14 #3201 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:14 #3202 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424"        │

23:19:14 #3203 [Debug] > │ x2="509" y2="75"/>                                                           │

23:19:14 #3204 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:14 #3205 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:14 #3206 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424"        │

23:19:14 #3207 [Debug] > │ x2="529" y2="75"/>                                                           │

23:19:14 #3208 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424"        │

23:19:14 #3209 [Debug] > │ x2="539" y2="75"/>                                                           │

23:19:14 #3210 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424"        │

23:19:14 #3211 [Debug] > │ x2="549" y2="75"/>                                                           │

23:19:14 #3212 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424"        │

23:19:14 #3213 [Debug] > │ x2="559" y2="75"/>                                                           │

23:19:14 #3214 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:14 #3215 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:14 #3216 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424"        │

23:19:14 #3217 [Debug] > │ x2="579" y2="75"/>                                                           │

23:19:14 #3218 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:14 #3219 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:14 #3220 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="398"         │

23:19:14 #3221 [Debug] > │ x2="584" y2="398"/>                                                          │

23:19:14 #3222 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382"         │

23:19:14 #3223 [Debug] > │ x2="584" y2="382"/>                                                          │

23:19:14 #3224 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="365"         │

23:19:14 #3225 [Debug] > │ x2="584" y2="365"/>                                                          │

23:19:14 #3226 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349"         │

23:19:14 #3227 [Debug] > │ x2="584" y2="349"/>                                                          │

23:19:14 #3228 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332"         │

23:19:14 #3229 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:14 #3230 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316"         │

23:19:14 #3231 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:14 #3232 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="299"         │

23:19:14 #3233 [Debug] > │ x2="584" y2="299"/>                                                          │

23:19:14 #3234 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283"         │

23:19:14 #3235 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:14 #3236 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="266"         │

23:19:14 #3237 [Debug] > │ x2="584" y2="266"/>                                                          │

23:19:14 #3238 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250"         │

23:19:14 #3239 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:14 #3240 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234"         │

23:19:14 #3241 [Debug] > │ x2="584" y2="234"/>                                                          │

23:19:14 #3242 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217"         │

23:19:14 #3243 [Debug] > │ x2="584" y2="217"/>                                                          │

23:19:14 #3244 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:14 #3245 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:14 #3246 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184"         │

23:19:14 #3247 [Debug] > │ x2="584" y2="184"/>                                                          │

23:19:14 #3248 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168"         │

23:19:14 #3249 [Debug] > │ x2="584" y2="168"/>                                                          │

23:19:14 #3250 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151"         │

23:19:14 #3251 [Debug] > │ x2="584" y2="151"/>                                                          │

23:19:14 #3252 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135"         │

23:19:14 #3253 [Debug] > │ x2="584" y2="135"/>                                                          │

23:19:14 #3254 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118"         │

23:19:14 #3255 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:14 #3256 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102"         │

23:19:14 #3257 [Debug] > │ x2="584" y2="102"/>                                                          │

23:19:14 #3258 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:14 #3259 [Debug] > │ y2="85"/>                                                                    │

23:19:14 #3260 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:14 #3261 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3262 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3263 [Debug] > │ time (s)                                                                     │

23:19:14 #3264 [Debug] > │ </text>                                                                      │

23:19:14 #3265 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:14 #3266 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3267 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:14 #3268 [Debug] > │                                                                              │

23:19:14 #3269 [Debug] > │ </text>                                                                      │

23:19:14 #3270 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:14 #3271 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3272 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3273 [Debug] > │ time (s)                                                                     │

23:19:14 #3274 [Debug] > │ </text>                                                                      │

23:19:14 #3275 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:14 #3276 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3277 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:14 #3278 [Debug] > │                                                                              │

23:19:14 #3279 [Debug] > │ </text>                                                                      │

23:19:14 #3280 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:14 #3281 [Debug] > │ y2="75"/>                                                                    │

23:19:14 #3282 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:14 #3283 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:14 #3284 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:14 #3285 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:14 #3286 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:14 #3287 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:14 #3288 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:14 #3289 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:14 #3290 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:14 #3291 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:14 #3292 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:14 #3293 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:14 #3294 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:14 #3295 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:14 #3296 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:14 #3297 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:14 #3298 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:14 #3299 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:14 #3300 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:14 #3301 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:14 #3302 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:14 #3303 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:14 #3304 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="349"         │

23:19:14 #3305 [Debug] > │ x2="584" y2="349"/>                                                          │

23:19:14 #3306 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="283"         │

23:19:14 #3307 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:14 #3308 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="217"         │

23:19:14 #3309 [Debug] > │ x2="584" y2="217"/>                                                          │

23:19:14 #3310 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="151"         │

23:19:14 #3311 [Debug] > │ x2="584" y2="151"/>                                                          │

23:19:14 #3312 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:14 #3313 [Debug] > │ y2="85"/>                                                                    │

23:19:14 #3314 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3315 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:14 #3316 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:14 #3317 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3318 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3319 [Debug] > │ -5.0                                                                         │

23:19:14 #3320 [Debug] > │ </text>                                                                      │

23:19:14 #3321 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3322 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:14 #3323 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3324 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3325 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3326 [Debug] > │ 0.0                                                                          │

23:19:14 #3327 [Debug] > │ </text>                                                                      │

23:19:14 #3328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3329 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:14 #3330 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3331 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3332 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3333 [Debug] > │ 5.0                                                                          │

23:19:14 #3334 [Debug] > │ </text>                                                                      │

23:19:14 #3335 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3336 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:14 #3337 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3338 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3339 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3340 [Debug] > │ 10.0                                                                         │

23:19:14 #3341 [Debug] > │ </text>                                                                      │

23:19:14 #3342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3343 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:14 #3344 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3345 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3346 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3347 [Debug] > │ 15.0                                                                         │

23:19:14 #3348 [Debug] > │ </text>                                                                      │

23:19:14 #3349 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3350 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:14 #3351 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3352 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3353 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3354 [Debug] > │ 20.0                                                                         │

23:19:14 #3355 [Debug] > │ </text>                                                                      │

23:19:14 #3356 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3357 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:14 #3358 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3359 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3360 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3361 [Debug] > │ 25.0                                                                         │

23:19:14 #3362 [Debug] > │ </text>                                                                      │

23:19:14 #3363 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3364 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:14 #3365 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3366 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3367 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3368 [Debug] > │ 30.0                                                                         │

23:19:14 #3369 [Debug] > │ </text>                                                                      │

23:19:14 #3370 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3371 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:14 #3372 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3373 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3374 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3375 [Debug] > │ 35.0                                                                         │

23:19:14 #3376 [Debug] > │ </text>                                                                      │

23:19:14 #3377 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:14 #3378 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:14 #3379 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:14 #3380 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:14 #3381 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:14 #3382 [Debug] > │ 40.0                                                                         │

23:19:14 #3383 [Debug] > │ </text>                                                                      │

23:19:15 #3384 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3385 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:15 #3386 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3387 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3388 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3389 [Debug] > │ 45.0                                                                         │

23:19:15 #3390 [Debug] > │ </text>                                                                      │

23:19:15 #3391 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3392 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:15 #3393 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3394 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:15 #3395 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #3396 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3397 [Debug] > │ 0.0                                                                          │

23:19:15 #3398 [Debug] > │ </text>                                                                      │

23:19:15 #3399 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3400 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:15 #3401 [Debug] > │ <text x="45" y="349" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #3402 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3403 [Debug] > │ 2.0                                                                          │

23:19:15 #3404 [Debug] > │ </text>                                                                      │

23:19:15 #3405 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3406 [Debug] > │ points="49,349 54,349 "/>                                                    │

23:19:15 #3407 [Debug] > │ <text x="45" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #3408 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3409 [Debug] > │ 4.0                                                                          │

23:19:15 #3410 [Debug] > │ </text>                                                                      │

23:19:15 #3411 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3412 [Debug] > │ points="49,283 54,283 "/>                                                    │

23:19:15 #3413 [Debug] > │ <text x="45" y="217" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #3414 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3415 [Debug] > │ 6.0                                                                          │

23:19:15 #3416 [Debug] > │ </text>                                                                      │

23:19:15 #3417 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3418 [Debug] > │ points="49,217 54,217 "/>                                                    │

23:19:15 #3419 [Debug] > │ <text x="45" y="151" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #3420 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3421 [Debug] > │ 8.0                                                                          │

23:19:15 #3422 [Debug] > │ </text>                                                                      │

23:19:15 #3423 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3424 [Debug] > │ points="49,151 54,151 "/>                                                    │

23:19:15 #3425 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:15 #3426 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3427 [Debug] > │ 10.0                                                                         │

23:19:15 #3428 [Debug] > │ </text>                                                                      │

23:19:15 #3429 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3430 [Debug] > │ points="49,85 54,85 "/>                                                      │

23:19:15 #3431 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3432 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:15 #3433 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:15 #3434 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3435 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3436 [Debug] > │ -5.0                                                                         │

23:19:15 #3437 [Debug] > │ </text>                                                                      │

23:19:15 #3438 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3439 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:15 #3440 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3441 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3442 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3443 [Debug] > │ 0.0                                                                          │

23:19:15 #3444 [Debug] > │ </text>                                                                      │

23:19:15 #3445 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3446 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:15 #3447 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3448 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3449 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3450 [Debug] > │ 5.0                                                                          │

23:19:15 #3451 [Debug] > │ </text>                                                                      │

23:19:15 #3452 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3453 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:15 #3454 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3455 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3456 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3457 [Debug] > │ 10.0                                                                         │

23:19:15 #3458 [Debug] > │ </text>                                                                      │

23:19:15 #3459 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3460 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:15 #3461 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3462 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3463 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3464 [Debug] > │ 15.0                                                                         │

23:19:15 #3465 [Debug] > │ </text>                                                                      │

23:19:15 #3466 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3467 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:15 #3468 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3469 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3470 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3471 [Debug] > │ 20.0                                                                         │

23:19:15 #3472 [Debug] > │ </text>                                                                      │

23:19:15 #3473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3474 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:15 #3475 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3476 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3477 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3478 [Debug] > │ 25.0                                                                         │

23:19:15 #3479 [Debug] > │ </text>                                                                      │

23:19:15 #3480 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3481 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:15 #3482 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3483 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3484 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3485 [Debug] > │ 30.0                                                                         │

23:19:15 #3486 [Debug] > │ </text>                                                                      │

23:19:15 #3487 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3488 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:15 #3489 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3490 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3491 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3492 [Debug] > │ 35.0                                                                         │

23:19:15 #3493 [Debug] > │ </text>                                                                      │

23:19:15 #3494 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3495 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:15 #3496 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3497 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3498 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3499 [Debug] > │ 40.0                                                                         │

23:19:15 #3500 [Debug] > │ </text>                                                                      │

23:19:15 #3501 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3502 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:15 #3503 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3504 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3505 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3506 [Debug] > │ 45.0                                                                         │

23:19:15 #3507 [Debug] > │ </text>                                                                      │

23:19:15 #3508 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3509 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:15 #3510 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3511 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:15 #3512 [Debug] > │ <text x="617" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:15 #3513 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3514 [Debug] > │ 0.0                                                                          │

23:19:15 #3515 [Debug] > │ </text>                                                                      │

23:19:15 #3516 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3517 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:15 #3518 [Debug] > │ <text x="617" y="349" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:15 #3519 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3520 [Debug] > │ 2.0                                                                          │

23:19:15 #3521 [Debug] > │ </text>                                                                      │

23:19:15 #3522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3523 [Debug] > │ points="585,349 590,349 "/>                                                  │

23:19:15 #3524 [Debug] > │ <text x="617" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:15 #3525 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3526 [Debug] > │ 4.0                                                                          │

23:19:15 #3527 [Debug] > │ </text>                                                                      │

23:19:15 #3528 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3529 [Debug] > │ points="585,283 590,283 "/>                                                  │

23:19:15 #3530 [Debug] > │ <text x="617" y="217" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:15 #3531 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3532 [Debug] > │ 6.0                                                                          │

23:19:15 #3533 [Debug] > │ </text>                                                                      │

23:19:15 #3534 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3535 [Debug] > │ points="585,217 590,217 "/>                                                  │

23:19:15 #3536 [Debug] > │ <text x="617" y="151" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:15 #3537 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3538 [Debug] > │ 8.0                                                                          │

23:19:15 #3539 [Debug] > │ </text>                                                                      │

23:19:15 #3540 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3541 [Debug] > │ points="585,151 590,151 "/>                                                  │

23:19:15 #3542 [Debug] > │ <text x="595" y="85" dy="0.5ex" text-anchor="start" font-family="sans-serif" │

23:19:15 #3543 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #3544 [Debug] > │ 10.0                                                                         │

23:19:15 #3545 [Debug] > │ </text>                                                                      │

23:19:15 #3546 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3547 [Debug] > │ points="585,85 590,85 "/>                                                    │

23:19:15 #3548 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:15 #3549 [Debug] > │ points="69,415 70,415 71,415 72,415 73,415 74,415 75,415 76,415 77,415       │

23:19:15 #3550 [Debug] > │ 78,415 79,415 80,415 81,415 82,415 83,415 84,415 85,415 86,415 87,415 88,415 │

23:19:15 #3551 [Debug] > │ 89,415 90,415 91,415 92,415 93,415 94,415 95,415 96,415 97,415 98,415 99,415 │

23:19:15 #3552 [Debug] > │ 100,415 101,415 102,415 103,415 104,415 105,415 106,415 107,415 108,415      │

23:19:15 #3553 [Debug] > │ 109,415 110,415 111,415 112,415 113,415 114,415 115,415 116,415 117,415      │

23:19:15 #3554 [Debug] > │ 118,415 119,415 120,85 121,85 122,85 123,85 124,85 125,85 126,85 127,85      │

23:19:15 #3555 [Debug] > │ 128,85 129,85 130,85 131,85 132,85 133,85 134,85 135,85 136,85 137,85 138,85 │

23:19:15 #3556 [Debug] > │ 139,85 140,85 141,85 142,85 143,85 144,85 145,85 146,85 147,85 148,85 149,85 │

23:19:15 #3557 [Debug] > │ 150,85 151,85 152,85 153,85 154,85 155,85 156,85 157,85 158,85 159,85 160,85 │

23:19:15 #3558 [Debug] > │ 161,85 162,85 163,85 164,85 165,85 166,85 167,85 168,85 169,85 170,85 171,85 │

23:19:15 #3559 [Debug] > │ 172,85 173,85 174,85 175,85 176,85 177,85 178,85 179,85 180,85 181,85 182,85 │

23:19:15 #3560 [Debug] > │ 183,85 184,85 185,85 186,85 187,85 188,85 189,85 190,85 191,85 192,85 193,85 │

23:19:15 #3561 [Debug] > │ 194,85 195,85 196,85 197,85 198,85 199,85 200,85 201,85 202,85 203,85 204,85 │

23:19:15 #3562 [Debug] > │ 205,85 206,85 207,85 208,85 209,85 210,85 211,85 212,85 213,85 214,85 215,85 │

23:19:15 #3563 [Debug] > │ 216,85 217,85 218,85 219,415 220,415 221,415 222,415 223,415 224,415 225,415 │

23:19:15 #3564 [Debug] > │ 226,415 227,415 228,415 229,415 230,415 231,415 232,415 233,415 234,415      │

23:19:15 #3565 [Debug] > │ 235,415 236,415 237,415 238,415 239,415 240,415 241,415 242,415 243,415      │

23:19:15 #3566 [Debug] > │ 244,415 245,415 246,415 247,415 248,415 249,415 250,415 251,415 252,415      │

23:19:15 #3567 [Debug] > │ 253,415 254,415 255,415 256,415 257,415 258,415 259,415 260,415 261,415      │

23:19:15 #3568 [Debug] > │ 262,415 263,415 264,415 265,415 266,415 267,415 268,415 269,415 270,415      │

23:19:15 #3569 [Debug] > │ 271,415 272,415 273,415 274,415 275,415 276,415 277,415 278,415 279,415      │

23:19:15 #3570 [Debug] > │ 280,415 281,415 282,415 283,415 284,415 285,415 286,415 287,415 288,415      │

23:19:15 #3571 [Debug] > │ 289,415 290,415 291,415 292,415 293,415 294,415 295,415 296,415 297,415      │

23:19:15 #3572 [Debug] > │ 298,415 299,415 300,415 301,415 302,415 303,415 304,415 305,415 306,415      │

23:19:15 #3573 [Debug] > │ 307,415 308,415 309,415 310,415 311,415 312,415 313,415 314,415 315,415      │

23:19:15 #3574 [Debug] > │ 316,415 317,415 318,415 319,415 320,85 321,85 322,85 323,85 324,85 325,85    │

23:19:15 #3575 [Debug] > │ 326,85 327,85 328,85 329,85 330,85 331,85 332,85 333,85 334,85 335,85 336,85 │

23:19:15 #3576 [Debug] > │ 337,85 338,85 339,85 340,85 341,85 342,85 343,85 344,85 345,85 346,85 347,85 │

23:19:15 #3577 [Debug] > │ 348,85 349,85 350,85 351,85 352,85 353,85 354,85 355,85 356,85 357,85 358,85 │

23:19:15 #3578 [Debug] > │ 359,85 360,85 361,85 362,85 363,85 364,85 365,85 366,85 367,85 368,85 369,85 │

23:19:15 #3579 [Debug] > │ 370,85 371,85 372,85 373,85 374,85 375,85 376,85 377,85 378,85 379,85 380,85 │

23:19:15 #3580 [Debug] > │ 381,85 382,85 383,85 384,85 385,85 386,85 387,85 388,85 389,85 390,85 391,85 │

23:19:15 #3581 [Debug] > │ 392,85 393,85 394,85 395,85 396,85 397,85 398,85 399,85 400,85 401,85 402,85 │

23:19:15 #3582 [Debug] > │ 403,85 404,85 405,85 406,85 407,85 408,85 409,85 410,85 411,85 412,85 413,85 │

23:19:15 #3583 [Debug] > │ 414,85 415,85 416,85 417,85 418,85 419,415 420,415 421,415 422,415 423,415   │

23:19:15 #3584 [Debug] > │ 424,415 425,415 426,415 427,415 428,415 429,415 430,415 431,415 432,415      │

23:19:15 #3585 [Debug] > │ 433,415 434,415 435,415 436,415 437,415 438,415 439,415 440,415 441,415      │

23:19:15 #3586 [Debug] > │ 442,415 443,415 444,415 445,415 446,415 447,415 448,415 449,415 450,415      │

23:19:15 #3587 [Debug] > │ 451,415 452,415 453,415 454,415 455,415 456,415 457,415 458,415 459,415      │

23:19:15 #3588 [Debug] > │ 460,415 461,415 462,415 463,415 464,415 465,415 466,415 467,415 468,415      │

23:19:15 #3589 [Debug] > │ 469,415 470,415 471,415 472,415 473,415 474,415 475,415 476,415 477,415      │

23:19:15 #3590 [Debug] > │ 478,415 479,415 480,415 481,415 482,415 483,415 484,415 485,415 486,415      │

23:19:15 #3591 [Debug] > │ 487,415 488,415 489,415 490,415 491,415 492,415 493,415 494,415 495,415      │

23:19:15 #3592 [Debug] > │ 496,415 497,415 498,415 499,415 500,415 501,415 502,415 503,415 504,415      │

23:19:15 #3593 [Debug] > │ 505,415 506,415 507,415 508,415 509,415 510,415 511,415 512,415 513,415      │

23:19:15 #3594 [Debug] > │ 514,415 515,415 516,415 517,415 518,415 519,415 520,85 521,85 522,85 523,85  │

23:19:15 #3595 [Debug] > │ 524,85 525,85 526,85 527,85 528,85 529,85 530,85 531,85 532,85 533,85 534,85 │

23:19:15 #3596 [Debug] > │ 535,85 536,85 537,85 538,85 539,85 540,85 541,85 542,85 543,85 544,85 545,85 │

23:19:15 #3597 [Debug] > │ 546,85 547,85 548,85 549,85 550,85 551,85 552,85 553,85 554,85 555,85 556,85 │

23:19:15 #3598 [Debug] > │ 557,85 558,85 559,85 560,85 561,85 562,85 563,85 564,85 565,85 566,85 567,85 │

23:19:15 #3599 [Debug] > │ 568,85 569,85 "/>                                                            │

23:19:15 #3600 [Debug] > │ <rect x="437" y="235" width="143" height="30" opacity="1" fill="none"        │

23:19:15 #3601 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:15 #3602 [Debug] > │ <text x="477" y="245" dy="0.76em" text-anchor="start"                        │

23:19:15 #3603 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3604 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3605 [Debug] > │ force on bike (N)                                                            │

23:19:15 #3606 [Debug] > │ </text>                                                                      │

23:19:15 #3607 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:15 #3608 [Debug] > │ points="447,250 467,250 "/>                                                  │

23:19:15 #3609 [Debug] > │ </svg>                                                                       │

23:19:15 #3610 [Debug] > │                                                                              │

23:19:15 #3611 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:15 #3612 [Debug] >

23:19:15 #3613 [Debug] > ╭─[ 474.40ms - stdout ]────────────────────────────────────────────────────────╮

23:19:15 #3614 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:15 #3615 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:15 #3616 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:15 #3617 [Debug] > │     let v2 : bool = v1 < 501                                                 │

23:19:15 #3618 [Debug] > │     v2                                                                       │

23:19:15 #3619 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:15 #3620 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:15 #3621 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:15 #3622 [Debug] > │     v3                                                                       │

23:19:15 #3623 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:15 #3624 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:15 #3625 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (501)                      │

23:19:15 #3626 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:15 #3627 [Debug] > │     while method1(v1) do                                                     │

23:19:15 #3628 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:15 #3629 [Debug] > │         let v4 : float = float v3                                            │

23:19:15 #3630 [Debug] > │         let v5 : float = 0.1 * v4                                            │

23:19:15 #3631 [Debug] > │         let v6 : float = -5.0 + v5                                           │

23:19:15 #3632 [Debug] > │         v0.[int v3] <- v6                                                    │

23:19:15 #3633 [Debug] > │         let v7 : int32 = v3 + 1                                              │

23:19:15 #3634 [Debug] > │         v1.l0 <- v7                                                          │

23:19:15 #3635 [Debug] > │         ()                                                                   │

23:19:15 #3636 [Debug] > │     let v8 : int32 = v0.Length                                               │

23:19:15 #3637 [Debug] > │     let v9 : (float []) = Array.zeroCreate<float> (v8)                       │

23:19:15 #3638 [Debug] > │     let v10 : Mut0 = {l0 = 0} : Mut0                                         │

23:19:15 #3639 [Debug] > │     while method2(v8, v10) do                                                │

23:19:15 #3640 [Debug] > │         let v12 : int32 = v10.l0                                             │

23:19:15 #3641 [Debug] > │         let v13 : float = v0.[int v12]                                       │

23:19:15 #3642 [Debug] > │         let v14 : float = v13 / 20.0                                         │

23:19:15 #3643 [Debug] > │         let v15 : int32 = int32 v14                                          │

23:19:15 #3644 [Debug] > │         let v16 : float = float v15                                          │

23:19:15 #3645 [Debug] > │         let v17 : float = v16 * 20.0                                         │

23:19:15 #3646 [Debug] > │         let v18 : float = v13 - v17                                          │

23:19:15 #3647 [Debug] > │         let v19 : bool = v18 > 0.0                                           │

23:19:15 #3648 [Debug] > │         let v21 : bool =                                                     │

23:19:15 #3649 [Debug] > │             if v19 then                                                      │

23:19:15 #3650 [Debug] > │                 let v20 : bool = v18 < 10.0                                  │

23:19:15 #3651 [Debug] > │                 v20                                                          │

23:19:15 #3652 [Debug] > │             else                                                             │

23:19:15 #3653 [Debug] > │                 false                                                        │

23:19:15 #3654 [Debug] > │         let v22 : float =                                                    │

23:19:15 #3655 [Debug] > │             if v21 then                                                      │

23:19:15 #3656 [Debug] > │                 10.0                                                         │

23:19:15 #3657 [Debug] > │             else                                                             │

23:19:15 #3658 [Debug] > │                 0.0                                                          │

23:19:15 #3659 [Debug] > │         v9.[int v12] <- v22                                                  │

23:19:15 #3660 [Debug] > │         let v23 : int32 = v12 + 1                                            │

23:19:15 #3661 [Debug] > │         v10.l0 <- v23                                                        │

23:19:15 #3662 [Debug] > │         ()                                                                   │

23:19:15 #3663 [Debug] > │     let v24 : string = "force on bike (N)"                                   │

23:19:15 #3664 [Debug] > │     let v25 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:15 #3665 [Debug] > │ (v24, v0, v9)|]                                                              │

23:19:15 #3666 [Debug] > │     let v26 : string = "child pedaling then coasting"                        │

23:19:15 #3667 [Debug] > │     let v27 : string = "time (s)"                                            │

23:19:15 #3668 [Debug] > │     let v28 : string = ""                                                    │

23:19:15 #3669 [Debug] > │     struct (v26, v27, v28, v25)                                              │

23:19:15 #3670 [Debug] > │ method0()                                                                    │

23:19:15 #3671 [Debug] > │                                                                              │

23:19:15 #3672 [Debug] > │                                                                              │

23:19:15 #3673 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:15 #3674 [Debug] >

23:19:15 #3675 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:15 #3676 [Debug] > // // test

23:19:15 #3677 [Debug] >

23:19:15 #3678 [Debug] > inl x = am'.init_series -5 45 1

23:19:15 #3679 [Debug] > inl y = x |> am.map (position_ft 0.1f64 20 0 0 [[ pedal_coast ]])

23:19:15 #3680 [Debug] > "child pedaling then coasting", "time (s)", "", ;[[ "position of bike (m)", x, y

23:19:15 #3681 [Debug] > ]]

23:19:15 #3682 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1517-1752-19f15aa08a28\main.spi

23:19:15 #3683 [Debug] >

23:19:15 #3684 [Debug] > ╭─[ 503.39ms - return value ]──────────────────────────────────────────────────╮

23:19:15 #3685 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:15 #3686 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:15 #3687 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:15 #3688 [Debug] > │ stroke="none"/>                                                              │

23:19:15 #3689 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:15 #3690 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3691 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3692 [Debug] > │ child pedaling then coasting                                                 │

23:19:15 #3693 [Debug] > │ </text>                                                                      │

23:19:15 #3694 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │

23:19:15 #3695 [Debug] > │ y2="75"/>                                                                    │

23:19:15 #3696 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:15 #3697 [Debug] > │ y2="75"/>                                                                    │

23:19:15 #3698 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │

23:19:15 #3699 [Debug] > │ y2="75"/>                                                                    │

23:19:15 #3700 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │

23:19:15 #3701 [Debug] > │ y2="75"/>                                                                    │

23:19:15 #3702 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:15 #3703 [Debug] > │ y2="75"/>                                                                    │

23:19:15 #3704 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424"        │

23:19:15 #3705 [Debug] > │ x2="109" y2="75"/>                                                           │

23:19:15 #3706 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:15 #3707 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:15 #3708 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:15 #3709 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:15 #3710 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:15 #3711 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:15 #3712 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424"        │

23:19:15 #3713 [Debug] > │ x2="149" y2="75"/>                                                           │

23:19:15 #3714 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424"        │

23:19:15 #3715 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:15 #3716 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:15 #3717 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:15 #3718 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424"        │

23:19:15 #3719 [Debug] > │ x2="179" y2="75"/>                                                           │

23:19:15 #3720 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:15 #3721 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:15 #3722 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424"        │

23:19:15 #3723 [Debug] > │ x2="199" y2="75"/>                                                           │

23:19:15 #3724 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424"        │

23:19:15 #3725 [Debug] > │ x2="209" y2="75"/>                                                           │

23:19:15 #3726 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:15 #3727 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:15 #3728 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424"        │

23:19:15 #3729 [Debug] > │ x2="229" y2="75"/>                                                           │

23:19:15 #3730 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424"        │

23:19:15 #3731 [Debug] > │ x2="239" y2="75"/>                                                           │

23:19:15 #3732 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:15 #3733 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:15 #3734 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424"        │

23:19:15 #3735 [Debug] > │ x2="259" y2="75"/>                                                           │

23:19:15 #3736 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:15 #3737 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:15 #3738 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424"        │

23:19:15 #3739 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:15 #3740 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424"        │

23:19:15 #3741 [Debug] > │ x2="289" y2="75"/>                                                           │

23:19:15 #3742 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424"        │

23:19:15 #3743 [Debug] > │ x2="299" y2="75"/>                                                           │

23:19:15 #3744 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:15 #3745 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:15 #3746 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:15 #3747 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:15 #3748 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424"        │

23:19:15 #3749 [Debug] > │ x2="329" y2="75"/>                                                           │

23:19:15 #3750 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424"        │

23:19:15 #3751 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:15 #3752 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424"        │

23:19:15 #3753 [Debug] > │ x2="349" y2="75"/>                                                           │

23:19:15 #3754 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424"        │

23:19:15 #3755 [Debug] > │ x2="359" y2="75"/>                                                           │

23:19:15 #3756 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:15 #3757 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:15 #3758 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424"        │

23:19:15 #3759 [Debug] > │ x2="379" y2="75"/>                                                           │

23:19:15 #3760 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424"        │

23:19:15 #3761 [Debug] > │ x2="389" y2="75"/>                                                           │

23:19:15 #3762 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424"        │

23:19:15 #3763 [Debug] > │ x2="399" y2="75"/>                                                           │

23:19:15 #3764 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424"        │

23:19:15 #3765 [Debug] > │ x2="409" y2="75"/>                                                           │

23:19:15 #3766 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:15 #3767 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:15 #3768 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424"        │

23:19:15 #3769 [Debug] > │ x2="429" y2="75"/>                                                           │

23:19:15 #3770 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424"        │

23:19:15 #3771 [Debug] > │ x2="439" y2="75"/>                                                           │

23:19:15 #3772 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424"        │

23:19:15 #3773 [Debug] > │ x2="449" y2="75"/>                                                           │

23:19:15 #3774 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424"        │

23:19:15 #3775 [Debug] > │ x2="459" y2="75"/>                                                           │

23:19:15 #3776 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:15 #3777 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:15 #3778 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424"        │

23:19:15 #3779 [Debug] > │ x2="479" y2="75"/>                                                           │

23:19:15 #3780 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424"        │

23:19:15 #3781 [Debug] > │ x2="489" y2="75"/>                                                           │

23:19:15 #3782 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:15 #3783 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:15 #3784 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424"        │

23:19:15 #3785 [Debug] > │ x2="509" y2="75"/>                                                           │

23:19:15 #3786 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:15 #3787 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:15 #3788 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424"        │

23:19:15 #3789 [Debug] > │ x2="529" y2="75"/>                                                           │

23:19:15 #3790 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424"        │

23:19:15 #3791 [Debug] > │ x2="539" y2="75"/>                                                           │

23:19:15 #3792 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424"        │

23:19:15 #3793 [Debug] > │ x2="549" y2="75"/>                                                           │

23:19:15 #3794 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424"        │

23:19:15 #3795 [Debug] > │ x2="559" y2="75"/>                                                           │

23:19:15 #3796 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:15 #3797 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:15 #3798 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424"        │

23:19:15 #3799 [Debug] > │ x2="579" y2="75"/>                                                           │

23:19:15 #3800 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:15 #3801 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:15 #3802 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404"         │

23:19:15 #3803 [Debug] > │ x2="584" y2="404"/>                                                          │

23:19:15 #3804 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="393"         │

23:19:15 #3805 [Debug] > │ x2="584" y2="393"/>                                                          │

23:19:15 #3806 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="383"         │

23:19:15 #3807 [Debug] > │ x2="584" y2="383"/>                                                          │

23:19:15 #3808 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="372"         │

23:19:15 #3809 [Debug] > │ x2="584" y2="372"/>                                                          │

23:19:15 #3810 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="361"         │

23:19:15 #3811 [Debug] > │ x2="584" y2="361"/>                                                          │

23:19:15 #3812 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="351"         │

23:19:15 #3813 [Debug] > │ x2="584" y2="351"/>                                                          │

23:19:15 #3814 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="340"         │

23:19:15 #3815 [Debug] > │ x2="584" y2="340"/>                                                          │

23:19:15 #3816 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="329"         │

23:19:15 #3817 [Debug] > │ x2="584" y2="329"/>                                                          │

23:19:15 #3818 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="318"         │

23:19:15 #3819 [Debug] > │ x2="584" y2="318"/>                                                          │

23:19:15 #3820 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="308"         │

23:19:15 #3821 [Debug] > │ x2="584" y2="308"/>                                                          │

23:19:15 #3822 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="297"         │

23:19:15 #3823 [Debug] > │ x2="584" y2="297"/>                                                          │

23:19:15 #3824 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="286"         │

23:19:15 #3825 [Debug] > │ x2="584" y2="286"/>                                                          │

23:19:15 #3826 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="276"         │

23:19:15 #3827 [Debug] > │ x2="584" y2="276"/>                                                          │

23:19:15 #3828 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="265"         │

23:19:15 #3829 [Debug] > │ x2="584" y2="265"/>                                                          │

23:19:15 #3830 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="254"         │

23:19:15 #3831 [Debug] > │ x2="584" y2="254"/>                                                          │

23:19:15 #3832 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="244"         │

23:19:15 #3833 [Debug] > │ x2="584" y2="244"/>                                                          │

23:19:15 #3834 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="233"         │

23:19:15 #3835 [Debug] > │ x2="584" y2="233"/>                                                          │

23:19:15 #3836 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="222"         │

23:19:15 #3837 [Debug] > │ x2="584" y2="222"/>                                                          │

23:19:15 #3838 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="212"         │

23:19:15 #3839 [Debug] > │ x2="584" y2="212"/>                                                          │

23:19:15 #3840 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:15 #3841 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:15 #3842 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="190"         │

23:19:15 #3843 [Debug] > │ x2="584" y2="190"/>                                                          │

23:19:15 #3844 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="180"         │

23:19:15 #3845 [Debug] > │ x2="584" y2="180"/>                                                          │

23:19:15 #3846 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="169"         │

23:19:15 #3847 [Debug] > │ x2="584" y2="169"/>                                                          │

23:19:15 #3848 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="158"         │

23:19:15 #3849 [Debug] > │ x2="584" y2="158"/>                                                          │

23:19:15 #3850 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="147"         │

23:19:15 #3851 [Debug] > │ x2="584" y2="147"/>                                                          │

23:19:15 #3852 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137"         │

23:19:15 #3853 [Debug] > │ x2="584" y2="137"/>                                                          │

23:19:15 #3854 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="126"         │

23:19:15 #3855 [Debug] > │ x2="584" y2="126"/>                                                          │

23:19:15 #3856 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="115"         │

23:19:15 #3857 [Debug] > │ x2="584" y2="115"/>                                                          │

23:19:15 #3858 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="105"         │

23:19:15 #3859 [Debug] > │ x2="584" y2="105"/>                                                          │

23:19:15 #3860 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="94" x2="584" │

23:19:15 #3861 [Debug] > │ y2="94"/>                                                                    │

23:19:15 #3862 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="83" x2="584" │

23:19:15 #3863 [Debug] > │ y2="83"/>                                                                    │

23:19:15 #3864 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:15 #3865 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3866 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3867 [Debug] > │ time (s)                                                                     │

23:19:15 #3868 [Debug] > │ </text>                                                                      │

23:19:15 #3869 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:15 #3870 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3871 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:15 #3872 [Debug] > │                                                                              │

23:19:15 #3873 [Debug] > │ </text>                                                                      │

23:19:15 #3874 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:15 #3875 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3876 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3877 [Debug] > │ time (s)                                                                     │

23:19:15 #3878 [Debug] > │ </text>                                                                      │

23:19:15 #3879 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:15 #3880 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3881 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:15 #3882 [Debug] > │                                                                              │

23:19:15 #3883 [Debug] > │ </text>                                                                      │

23:19:15 #3884 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:15 #3885 [Debug] > │ y2="75"/>                                                                    │

23:19:15 #3886 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:15 #3887 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:15 #3888 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:15 #3889 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:15 #3890 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:15 #3891 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:15 #3892 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:15 #3893 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:15 #3894 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:15 #3895 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:15 #3896 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:15 #3897 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:15 #3898 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:15 #3899 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:15 #3900 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:15 #3901 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:15 #3902 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:15 #3903 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:15 #3904 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:15 #3905 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:15 #3906 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:15 #3907 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:15 #3908 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="361"         │

23:19:15 #3909 [Debug] > │ x2="584" y2="361"/>                                                          │

23:19:15 #3910 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="308"         │

23:19:15 #3911 [Debug] > │ x2="584" y2="308"/>                                                          │

23:19:15 #3912 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="254"         │

23:19:15 #3913 [Debug] > │ x2="584" y2="254"/>                                                          │

23:19:15 #3914 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="201"         │

23:19:15 #3915 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:15 #3916 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="147"         │

23:19:15 #3917 [Debug] > │ x2="584" y2="147"/>                                                          │

23:19:15 #3918 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="94" x2="584" │

23:19:15 #3919 [Debug] > │ y2="94"/>                                                                    │

23:19:15 #3920 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3921 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:15 #3922 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:15 #3923 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3924 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3925 [Debug] > │ -5.0                                                                         │

23:19:15 #3926 [Debug] > │ </text>                                                                      │

23:19:15 #3927 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3928 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:15 #3929 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3930 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3931 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3932 [Debug] > │ 0.0                                                                          │

23:19:15 #3933 [Debug] > │ </text>                                                                      │

23:19:15 #3934 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3935 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:15 #3936 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3937 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3938 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3939 [Debug] > │ 5.0                                                                          │

23:19:15 #3940 [Debug] > │ </text>                                                                      │

23:19:15 #3941 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3942 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:15 #3943 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3944 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3945 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3946 [Debug] > │ 10.0                                                                         │

23:19:15 #3947 [Debug] > │ </text>                                                                      │

23:19:15 #3948 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3949 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:15 #3950 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3951 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3952 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3953 [Debug] > │ 15.0                                                                         │

23:19:15 #3954 [Debug] > │ </text>                                                                      │

23:19:15 #3955 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3956 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:15 #3957 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3958 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3959 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3960 [Debug] > │ 20.0                                                                         │

23:19:15 #3961 [Debug] > │ </text>                                                                      │

23:19:15 #3962 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3963 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:15 #3964 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3965 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3966 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3967 [Debug] > │ 25.0                                                                         │

23:19:15 #3968 [Debug] > │ </text>                                                                      │

23:19:15 #3969 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3970 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:15 #3971 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3972 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3973 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3974 [Debug] > │ 30.0                                                                         │

23:19:15 #3975 [Debug] > │ </text>                                                                      │

23:19:15 #3976 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3977 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:15 #3978 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3979 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3980 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3981 [Debug] > │ 35.0                                                                         │

23:19:15 #3982 [Debug] > │ </text>                                                                      │

23:19:15 #3983 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3984 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:15 #3985 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3986 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3987 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3988 [Debug] > │ 40.0                                                                         │

23:19:15 #3989 [Debug] > │ </text>                                                                      │

23:19:15 #3990 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3991 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:15 #3992 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:15 #3993 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #3994 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #3995 [Debug] > │ 45.0                                                                         │

23:19:15 #3996 [Debug] > │ </text>                                                                      │

23:19:15 #3997 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #3998 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:15 #3999 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4000 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:15 #4001 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #4002 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4003 [Debug] > │ 0.0                                                                          │

23:19:15 #4004 [Debug] > │ </text>                                                                      │

23:19:15 #4005 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4006 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:15 #4007 [Debug] > │ <text x="45" y="361" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #4008 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4009 [Debug] > │ 50.0                                                                         │

23:19:15 #4010 [Debug] > │ </text>                                                                      │

23:19:15 #4011 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4012 [Debug] > │ points="49,361 54,361 "/>                                                    │

23:19:15 #4013 [Debug] > │ <text x="45" y="308" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #4014 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4015 [Debug] > │ 100.0                                                                        │

23:19:15 #4016 [Debug] > │ </text>                                                                      │

23:19:15 #4017 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4018 [Debug] > │ points="49,308 54,308 "/>                                                    │

23:19:15 #4019 [Debug] > │ <text x="45" y="254" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #4020 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4021 [Debug] > │ 150.0                                                                        │

23:19:15 #4022 [Debug] > │ </text>                                                                      │

23:19:15 #4023 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4024 [Debug] > │ points="49,254 54,254 "/>                                                    │

23:19:15 #4025 [Debug] > │ <text x="45" y="201" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #4026 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4027 [Debug] > │ 200.0                                                                        │

23:19:15 #4028 [Debug] > │ </text>                                                                      │

23:19:15 #4029 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4030 [Debug] > │ points="49,201 54,201 "/>                                                    │

23:19:15 #4031 [Debug] > │ <text x="45" y="147" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:15 #4032 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4033 [Debug] > │ 250.0                                                                        │

23:19:15 #4034 [Debug] > │ </text>                                                                      │

23:19:15 #4035 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4036 [Debug] > │ points="49,147 54,147 "/>                                                    │

23:19:15 #4037 [Debug] > │ <text x="45" y="94" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:15 #4038 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4039 [Debug] > │ 300.0                                                                        │

23:19:15 #4040 [Debug] > │ </text>                                                                      │

23:19:15 #4041 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4042 [Debug] > │ points="49,94 54,94 "/>                                                      │

23:19:15 #4043 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4044 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:15 #4045 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:15 #4046 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4047 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4048 [Debug] > │ -5.0                                                                         │

23:19:15 #4049 [Debug] > │ </text>                                                                      │

23:19:15 #4050 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4051 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:15 #4052 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4053 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4054 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4055 [Debug] > │ 0.0                                                                          │

23:19:15 #4056 [Debug] > │ </text>                                                                      │

23:19:15 #4057 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4058 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:15 #4059 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4060 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4061 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4062 [Debug] > │ 5.0                                                                          │

23:19:15 #4063 [Debug] > │ </text>                                                                      │

23:19:15 #4064 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4065 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:15 #4066 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4067 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4068 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4069 [Debug] > │ 10.0                                                                         │

23:19:15 #4070 [Debug] > │ </text>                                                                      │

23:19:15 #4071 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4072 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:15 #4073 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4074 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4075 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4076 [Debug] > │ 15.0                                                                         │

23:19:15 #4077 [Debug] > │ </text>                                                                      │

23:19:15 #4078 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4079 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:15 #4080 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4081 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4082 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4083 [Debug] > │ 20.0                                                                         │

23:19:15 #4084 [Debug] > │ </text>                                                                      │

23:19:15 #4085 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4086 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:15 #4087 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4088 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4089 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4090 [Debug] > │ 25.0                                                                         │

23:19:15 #4091 [Debug] > │ </text>                                                                      │

23:19:15 #4092 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4093 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:15 #4094 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4095 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4096 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4097 [Debug] > │ 30.0                                                                         │

23:19:15 #4098 [Debug] > │ </text>                                                                      │

23:19:15 #4099 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4100 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:15 #4101 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4102 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4103 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4104 [Debug] > │ 35.0                                                                         │

23:19:15 #4105 [Debug] > │ </text>                                                                      │

23:19:15 #4106 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4107 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:15 #4108 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4109 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4110 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4111 [Debug] > │ 40.0                                                                         │

23:19:15 #4112 [Debug] > │ </text>                                                                      │

23:19:15 #4113 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4114 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:15 #4115 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:15 #4116 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4117 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4118 [Debug] > │ 45.0                                                                         │

23:19:15 #4119 [Debug] > │ </text>                                                                      │

23:19:15 #4120 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4121 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:15 #4122 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4123 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:15 #4124 [Debug] > │ <text x="622" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:15 #4125 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4126 [Debug] > │ 0.0                                                                          │

23:19:15 #4127 [Debug] > │ </text>                                                                      │

23:19:15 #4128 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4129 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:15 #4130 [Debug] > │ <text x="622" y="361" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:15 #4131 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4132 [Debug] > │ 50.0                                                                         │

23:19:15 #4133 [Debug] > │ </text>                                                                      │

23:19:15 #4134 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4135 [Debug] > │ points="585,361 590,361 "/>                                                  │

23:19:15 #4136 [Debug] > │ <text x="595" y="308" dy="0.5ex" text-anchor="start"                         │

23:19:15 #4137 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4138 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4139 [Debug] > │ 100.0                                                                        │

23:19:15 #4140 [Debug] > │ </text>                                                                      │

23:19:15 #4141 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4142 [Debug] > │ points="585,308 590,308 "/>                                                  │

23:19:15 #4143 [Debug] > │ <text x="595" y="254" dy="0.5ex" text-anchor="start"                         │

23:19:15 #4144 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4145 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4146 [Debug] > │ 150.0                                                                        │

23:19:15 #4147 [Debug] > │ </text>                                                                      │

23:19:15 #4148 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4149 [Debug] > │ points="585,254 590,254 "/>                                                  │

23:19:15 #4150 [Debug] > │ <text x="595" y="201" dy="0.5ex" text-anchor="start"                         │

23:19:15 #4151 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4152 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4153 [Debug] > │ 200.0                                                                        │

23:19:15 #4154 [Debug] > │ </text>                                                                      │

23:19:15 #4155 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4156 [Debug] > │ points="585,201 590,201 "/>                                                  │

23:19:15 #4157 [Debug] > │ <text x="595" y="147" dy="0.5ex" text-anchor="start"                         │

23:19:15 #4158 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4159 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4160 [Debug] > │ 250.0                                                                        │

23:19:15 #4161 [Debug] > │ </text>                                                                      │

23:19:15 #4162 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4163 [Debug] > │ points="585,147 590,147 "/>                                                  │

23:19:15 #4164 [Debug] > │ <text x="595" y="94" dy="0.5ex" text-anchor="start" font-family="sans-serif" │

23:19:15 #4165 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:15 #4166 [Debug] > │ 300.0                                                                        │

23:19:15 #4167 [Debug] > │ </text>                                                                      │

23:19:15 #4168 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:15 #4169 [Debug] > │ points="585,94 590,94 "/>                                                    │

23:19:15 #4170 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:15 #4171 [Debug] > │ points="69,415 79,415 89,415 99,415 109,415 119,415 129,414 139,413 149,412  │

23:19:15 #4172 [Debug] > │ 159,410 169,408 179,405 189,401 199,397 209,393 219,388 229,382 239,377      │

23:19:15 #4173 [Debug] > │ 249,372 259,366 269,361 279,356 289,350 299,345 309,340 319,334 329,329      │

23:19:15 #4174 [Debug] > │ 339,322 349,316 359,308 369,301 379,292 389,284 399,274 409,264 419,254      │

23:19:15 #4175 [Debug] > │ 429,243 439,232 449,221 459,210 469,199 479,189 489,178 499,167 509,157      │

23:19:15 #4176 [Debug] > │ 519,146 529,135 539,123 549,111 559,99 569,85 "/>                            │

23:19:15 #4177 [Debug] > │ <rect x="421" y="235" width="159" height="30" opacity="1" fill="none"        │

23:19:15 #4178 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:15 #4179 [Debug] > │ <text x="461" y="245" dy="0.76em" text-anchor="start"                        │

23:19:15 #4180 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:15 #4181 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:15 #4182 [Debug] > │ position of bike (m)                                                         │

23:19:15 #4183 [Debug] > │ </text>                                                                      │

23:19:15 #4184 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:15 #4185 [Debug] > │ points="431,250 451,250 "/>                                                  │

23:19:15 #4186 [Debug] > │ </svg>                                                                       │

23:19:15 #4187 [Debug] > │                                                                              │

23:19:15 #4188 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:15 #4189 [Debug] >

23:19:15 #4190 [Debug] > ╭─[ 806.94ms - stdout ]────────────────────────────────────────────────────────╮

23:19:15 #4191 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:15 #4192 [Debug] > │ and UH0 =                                                                    │

23:19:15 #4193 [Debug] > │     | UH0_0 of float * UH0                                                   │

23:19:15 #4194 [Debug] > │     | UH0_1                                                                  │

23:19:15 #4195 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:15 #4196 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:15 #4197 [Debug] > │     let v2 : bool = v1 < 51                                                  │

23:19:15 #4198 [Debug] > │     v2                                                                       │

23:19:15 #4199 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:15 #4200 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:15 #4201 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:15 #4202 [Debug] > │     v3                                                                       │

23:19:15 #4203 [Debug] > │ and method3 (v0 : float, v1 : float) : UH0 =                                 │

23:19:15 #4204 [Debug] > │     let v2 : bool = v1 < v0                                                  │

23:19:15 #4205 [Debug] > │     if v2 then                                                               │

23:19:15 #4206 [Debug] > │         let v3 : float = 0.1 * v1                                            │

23:19:15 #4207 [Debug] > │         let v4 : float = 0.05 + v3                                           │

23:19:15 #4208 [Debug] > │         let v5 : float = v1 + 1.0                                            │

23:19:15 #4209 [Debug] > │         let v6 : UH0 = method3(v0, v5)                                       │

23:19:15 #4210 [Debug] > │         UH0_0(v4, v6)                                                        │

23:19:15 #4211 [Debug] > │     else                                                                     │

23:19:15 #4212 [Debug] > │         UH0_1                                                                │

23:19:15 #4213 [Debug] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 =                                     │

23:19:15 #4214 [Debug] > │     match v0 with                                                            │

23:19:15 #4215 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:15 #4216 [Debug] > │         let v4 : UH0 = method5(v3, v1)                                       │

23:19:15 #4217 [Debug] > │         let v5 : float = v2 / 20.0                                           │

23:19:15 #4218 [Debug] > │         let v6 : int32 = int32 v5                                            │

23:19:15 #4219 [Debug] > │         let v7 : float = float v6                                            │

23:19:15 #4220 [Debug] > │         let v8 : float = v7 * 20.0                                           │

23:19:15 #4221 [Debug] > │         let v9 : float = v2 - v8                                             │

23:19:16 #4222 [Debug] > │         let v10 : bool = v9 > 0.0                                            │

23:19:16 #4223 [Debug] > │         let v12 : bool =                                                     │

23:19:16 #4224 [Debug] > │             if v10 then                                                      │

23:19:16 #4225 [Debug] > │                 let v11 : bool = v9 < 10.0                                   │

23:19:16 #4226 [Debug] > │                 v11                                                          │

23:19:16 #4227 [Debug] > │             else                                                             │

23:19:16 #4228 [Debug] > │                 false                                                        │

23:19:16 #4229 [Debug] > │         let v13 : float =                                                    │

23:19:16 #4230 [Debug] > │             if v12 then                                                      │

23:19:16 #4231 [Debug] > │                 10.0                                                         │

23:19:16 #4232 [Debug] > │             else                                                             │

23:19:16 #4233 [Debug] > │                 0.0                                                          │

23:19:16 #4234 [Debug] > │         let v14 : float = v13 / 20.0                                         │

23:19:16 #4235 [Debug] > │         let v15 : float = 0.1 * v14                                          │

23:19:16 #4236 [Debug] > │         UH0_0(v15, v4)                                                       │

23:19:16 #4237 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:16 #4238 [Debug] > │         v1                                                                   │

23:19:16 #4239 [Debug] > │ and method6 (v0 : UH0, v1 : float) : float =                                 │

23:19:16 #4240 [Debug] > │     match v0 with                                                            │

23:19:16 #4241 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:16 #4242 [Debug] > │         let v4 : float = v1 + v2                                             │

23:19:16 #4243 [Debug] > │         method6(v3, v4)                                                      │

23:19:16 #4244 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:16 #4245 [Debug] > │         v1                                                                   │

23:19:16 #4246 [Debug] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 =                                     │

23:19:16 #4247 [Debug] > │     match v0 with                                                            │

23:19:16 #4248 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:16 #4249 [Debug] > │         let v4 : UH0 = method4(v3, v1)                                       │

23:19:16 #4250 [Debug] > │         let v5 : float = v2 - 0.05                                           │

23:19:16 #4251 [Debug] > │         let v6 : float = v5 - 0.05                                           │

23:19:16 #4252 [Debug] > │         let v7 : float = v6 / 0.1                                            │

23:19:16 #4253 [Debug] > │         let v8 : float = v7 + 1.0                                            │

23:19:16 #4254 [Debug] > │         let v9 : float = 0.0                                                 │

23:19:16 #4255 [Debug] > │         let v10 : UH0 = method3(v8, v9)                                      │

23:19:16 #4256 [Debug] > │         let v11 : UH0 = UH0_1                                                │

23:19:16 #4257 [Debug] > │         let v12 : UH0 = method5(v10, v11)                                    │

23:19:16 #4258 [Debug] > │         let v13 : float = 0.0                                                │

23:19:16 #4259 [Debug] > │         let v14 : float = method6(v12, v13)                                  │

23:19:16 #4260 [Debug] > │         let v15 : float = 0.1 * v14                                          │

23:19:16 #4261 [Debug] > │         UH0_0(v15, v4)                                                       │

23:19:16 #4262 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:16 #4263 [Debug] > │         v1                                                                   │

23:19:16 #4264 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:16 #4265 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:16 #4266 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (51)                       │

23:19:16 #4267 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:16 #4268 [Debug] > │     while method1(v1) do                                                     │

23:19:16 #4269 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:16 #4270 [Debug] > │         let v4 : float = float v3                                            │

23:19:16 #4271 [Debug] > │         let v5 : float = -5.0 + v4                                           │

23:19:16 #4272 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:16 #4273 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:16 #4274 [Debug] > │         v1.l0 <- v6                                                          │

23:19:16 #4275 [Debug] > │         ()                                                                   │

23:19:16 #4276 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:16 #4277 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:16 #4278 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:16 #4279 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:16 #4280 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:16 #4281 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:16 #4282 [Debug] > │         let v13 : float = v12 - 0.05                                         │

23:19:16 #4283 [Debug] > │         let v14 : float = v13 - 0.05                                         │

23:19:16 #4284 [Debug] > │         let v15 : float = v14 / 0.1                                          │

23:19:16 #4285 [Debug] > │         let v16 : float = v15 + 1.0                                          │

23:19:16 #4286 [Debug] > │         let v17 : float = 0.0                                                │

23:19:16 #4287 [Debug] > │         let v18 : UH0 = method3(v16, v17)                                    │

23:19:16 #4288 [Debug] > │         let v19 : UH0 = UH0_1                                                │

23:19:16 #4289 [Debug] > │         let v20 : UH0 = method4(v18, v19)                                    │

23:19:16 #4290 [Debug] > │         let v21 : float = 0.0                                                │

23:19:16 #4291 [Debug] > │         let v22 : float = method6(v20, v21)                                  │

23:19:16 #4292 [Debug] > │         v8.[int v11] <- v22                                                  │

23:19:16 #4293 [Debug] > │         let v23 : int32 = v11 + 1                                            │

23:19:16 #4294 [Debug] > │         v9.l0 <- v23                                                         │

23:19:16 #4295 [Debug] > │         ()                                                                   │

23:19:16 #4296 [Debug] > │     let v24 : string = "position of bike (m)"                                │

23:19:16 #4297 [Debug] > │     let v25 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:16 #4298 [Debug] > │ (v24, v0, v8)|]                                                              │

23:19:16 #4299 [Debug] > │     let v26 : string = "child pedaling then coasting"                        │

23:19:16 #4300 [Debug] > │     let v27 : string = "time (s)"                                            │

23:19:16 #4301 [Debug] > │     let v28 : string = ""                                                    │

23:19:16 #4302 [Debug] > │     struct (v26, v27, v28, v25)                                              │

23:19:16 #4303 [Debug] > │ method0()                                                                    │

23:19:16 #4304 [Debug] > │                                                                              │

23:19:16 #4305 [Debug] > │                                                                              │

23:19:16 #4306 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4307 [Debug] >

23:19:16 #4308 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:16 #4309 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:16 #4310 [Debug] > │ ## velocity_fv                                                               │

23:19:16 #4311 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4312 [Debug] >

23:19:16 #4313 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:16 #4314 [Debug] > inl newton_second_v m fs v0 =

23:19:16 #4315 [Debug] >     fs |> listm.map (fun f => f v0) |> listm'.sum |> fun x => x / m

23:19:16 #4316 [Debug] >

23:19:16 #4317 [Debug] > inl update_velocity dt m fs v0 =

23:19:16 #4318 [Debug] >     v0 + newton_second_v m fs v0 * dt

23:19:16 #4319 [Debug] >

23:19:16 #4320 [Debug] > inl velocity_fv dt m v0 fs t =

23:19:16 #4321 [Debug] >     t / dt |> math.round |> abs

23:19:16 #4322 [Debug] >     |> seq.iterate_ (update_velocity dt m fs) v0

23:19:16 #4323 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1605-0588-0198192fc175\main.spi

23:19:16 #4324 [Debug] >

23:19:16 #4325 [Debug] > ╭─[ 127.31ms - stdout ]────────────────────────────────────────────────────────╮

23:19:16 #4326 [Debug] > │ ()                                                                           │

23:19:16 #4327 [Debug] > │                                                                              │

23:19:16 #4328 [Debug] > │                                                                              │

23:19:16 #4329 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4330 [Debug] >

23:19:16 #4331 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:16 #4332 [Debug] > inl f_air drag rho area v =

23:19:16 #4333 [Debug] >     -drag * rho * area * abs v * v / 2

23:19:16 #4334 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1618-1857-100e707d914a\main.spi

23:19:16 #4335 [Debug] >

23:19:16 #4336 [Debug] > ╭─[ 122.03ms - stdout ]────────────────────────────────────────────────────────╮

23:19:16 #4337 [Debug] > │ ()                                                                           │

23:19:16 #4338 [Debug] > │                                                                              │

23:19:16 #4339 [Debug] > │                                                                              │

23:19:16 #4340 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4341 [Debug] >

23:19:16 #4342 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:16 #4343 [Debug] > // // test

23:19:16 #4344 [Debug] >

23:19:16 #4345 [Debug] > inl x = am'.init_series 0 60 0.5

23:19:16 #4346 [Debug] > inl y = x |> am.map (velocity_fv 1 70 0f64 [[ fun _ => 100; f_air 2 1.225 0.6

23:19:16 #4347 [Debug] > ]])

23:19:16 #4348 [Debug] > "bike velocity", "time (s)", "", ;[[ "velocity of bike (m/s)", x, y ]]

23:19:16 #4349 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1631-3101-3295dda09862\main.spi

23:19:16 #4350 [Debug] >

23:19:16 #4351 [Debug] > ╭─[ 168.33ms - return value ]──────────────────────────────────────────────────╮

23:19:16 #4352 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:16 #4353 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:16 #4354 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:16 #4355 [Debug] > │ stroke="none"/>                                                              │

23:19:16 #4356 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:16 #4357 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4358 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4359 [Debug] > │ bike velocity                                                                │

23:19:16 #4360 [Debug] > │ </text>                                                                      │

23:19:16 #4361 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │

23:19:16 #4362 [Debug] > │ y2="75"/>                                                                    │

23:19:16 #4363 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:16 #4364 [Debug] > │ y2="75"/>                                                                    │

23:19:16 #4365 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │

23:19:16 #4366 [Debug] > │ y2="75"/>                                                                    │

23:19:16 #4367 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │

23:19:16 #4368 [Debug] > │ y2="75"/>                                                                    │

23:19:16 #4369 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │

23:19:16 #4370 [Debug] > │ y2="75"/>                                                                    │

23:19:16 #4371 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424"        │

23:19:16 #4372 [Debug] > │ x2="103" y2="75"/>                                                           │

23:19:16 #4373 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424"        │

23:19:16 #4374 [Debug] > │ x2="111" y2="75"/>                                                           │

23:19:16 #4375 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:16 #4376 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:16 #4377 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424"        │

23:19:16 #4378 [Debug] > │ x2="128" y2="75"/>                                                           │

23:19:16 #4379 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424"        │

23:19:16 #4380 [Debug] > │ x2="136" y2="75"/>                                                           │

23:19:16 #4381 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424"        │

23:19:16 #4382 [Debug] > │ x2="144" y2="75"/>                                                           │

23:19:16 #4383 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424"        │

23:19:16 #4384 [Debug] > │ x2="153" y2="75"/>                                                           │

23:19:16 #4385 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424"        │

23:19:16 #4386 [Debug] > │ x2="161" y2="75"/>                                                           │

23:19:16 #4387 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:16 #4388 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:16 #4389 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424"        │

23:19:16 #4390 [Debug] > │ x2="178" y2="75"/>                                                           │

23:19:16 #4391 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424"        │

23:19:16 #4392 [Debug] > │ x2="186" y2="75"/>                                                           │

23:19:16 #4393 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424"        │

23:19:16 #4394 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:16 #4395 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424"        │

23:19:16 #4396 [Debug] > │ x2="203" y2="75"/>                                                           │

23:19:16 #4397 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424"        │

23:19:16 #4398 [Debug] > │ x2="211" y2="75"/>                                                           │

23:19:16 #4399 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:16 #4400 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:16 #4401 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424"        │

23:19:16 #4402 [Debug] > │ x2="228" y2="75"/>                                                           │

23:19:16 #4403 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424"        │

23:19:16 #4404 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:16 #4405 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424"        │

23:19:16 #4406 [Debug] > │ x2="244" y2="75"/>                                                           │

23:19:16 #4407 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424"        │

23:19:16 #4408 [Debug] > │ x2="252" y2="75"/>                                                           │

23:19:16 #4409 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424"        │

23:19:16 #4410 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:16 #4411 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:16 #4412 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:16 #4413 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424"        │

23:19:16 #4414 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:16 #4415 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424"        │

23:19:16 #4416 [Debug] > │ x2="286" y2="75"/>                                                           │

23:19:16 #4417 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424"        │

23:19:16 #4418 [Debug] > │ x2="294" y2="75"/>                                                           │

23:19:16 #4419 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424"        │

23:19:16 #4420 [Debug] > │ x2="302" y2="75"/>                                                           │

23:19:16 #4421 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424"        │

23:19:16 #4422 [Debug] > │ x2="311" y2="75"/>                                                           │

23:19:16 #4423 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:16 #4424 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:16 #4425 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424"        │

23:19:16 #4426 [Debug] > │ x2="327" y2="75"/>                                                           │

23:19:16 #4427 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424"        │

23:19:16 #4428 [Debug] > │ x2="336" y2="75"/>                                                           │

23:19:16 #4429 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424"        │

23:19:16 #4430 [Debug] > │ x2="344" y2="75"/>                                                           │

23:19:16 #4431 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424"        │

23:19:16 #4432 [Debug] > │ x2="352" y2="75"/>                                                           │

23:19:16 #4433 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424"        │

23:19:16 #4434 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:16 #4435 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:16 #4436 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:16 #4437 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424"        │

23:19:16 #4438 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:16 #4439 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424"        │

23:19:16 #4440 [Debug] > │ x2="386" y2="75"/>                                                           │

23:19:16 #4441 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424"        │

23:19:16 #4442 [Debug] > │ x2="394" y2="75"/>                                                           │

23:19:16 #4443 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424"        │

23:19:16 #4444 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:16 #4445 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424"        │

23:19:16 #4446 [Debug] > │ x2="410" y2="75"/>                                                           │

23:19:16 #4447 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:16 #4448 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:16 #4449 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424"        │

23:19:16 #4450 [Debug] > │ x2="427" y2="75"/>                                                           │

23:19:16 #4451 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424"        │

23:19:16 #4452 [Debug] > │ x2="435" y2="75"/>                                                           │

23:19:16 #4453 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424"        │

23:19:16 #4454 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:16 #4455 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424"        │

23:19:16 #4456 [Debug] > │ x2="452" y2="75"/>                                                           │

23:19:16 #4457 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424"        │

23:19:16 #4458 [Debug] > │ x2="460" y2="75"/>                                                           │

23:19:16 #4459 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:16 #4460 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:16 #4461 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424"        │

23:19:16 #4462 [Debug] > │ x2="477" y2="75"/>                                                           │

23:19:16 #4463 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424"        │

23:19:16 #4464 [Debug] > │ x2="485" y2="75"/>                                                           │

23:19:16 #4465 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424"        │

23:19:16 #4466 [Debug] > │ x2="494" y2="75"/>                                                           │

23:19:16 #4467 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424"        │

23:19:16 #4468 [Debug] > │ x2="502" y2="75"/>                                                           │

23:19:16 #4469 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424"        │

23:19:16 #4470 [Debug] > │ x2="510" y2="75"/>                                                           │

23:19:16 #4471 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:16 #4472 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:16 #4473 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424"        │

23:19:16 #4474 [Debug] > │ x2="527" y2="75"/>                                                           │

23:19:16 #4475 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424"        │

23:19:16 #4476 [Debug] > │ x2="535" y2="75"/>                                                           │

23:19:16 #4477 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424"        │

23:19:16 #4478 [Debug] > │ x2="544" y2="75"/>                                                           │

23:19:16 #4479 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424"        │

23:19:16 #4480 [Debug] > │ x2="552" y2="75"/>                                                           │

23:19:16 #4481 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424"        │

23:19:16 #4482 [Debug] > │ x2="560" y2="75"/>                                                           │

23:19:16 #4483 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:16 #4484 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:16 #4485 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424"        │

23:19:16 #4486 [Debug] > │ x2="577" y2="75"/>                                                           │

23:19:16 #4487 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:16 #4488 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:16 #4489 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="401"         │

23:19:16 #4490 [Debug] > │ x2="584" y2="401"/>                                                          │

23:19:16 #4491 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="386"         │

23:19:16 #4492 [Debug] > │ x2="584" y2="386"/>                                                          │

23:19:16 #4493 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="372"         │

23:19:16 #4494 [Debug] > │ x2="584" y2="372"/>                                                          │

23:19:16 #4495 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="358"         │

23:19:16 #4496 [Debug] > │ x2="584" y2="358"/>                                                          │

23:19:16 #4497 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="344"         │

23:19:16 #4498 [Debug] > │ x2="584" y2="344"/>                                                          │

23:19:16 #4499 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="330"         │

23:19:16 #4500 [Debug] > │ x2="584" y2="330"/>                                                          │

23:19:16 #4501 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316"         │

23:19:16 #4502 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:16 #4503 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="302"         │

23:19:16 #4504 [Debug] > │ x2="584" y2="302"/>                                                          │

23:19:16 #4505 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="288"         │

23:19:16 #4506 [Debug] > │ x2="584" y2="288"/>                                                          │

23:19:16 #4507 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273"         │

23:19:16 #4508 [Debug] > │ x2="584" y2="273"/>                                                          │

23:19:16 #4509 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="259"         │

23:19:16 #4510 [Debug] > │ x2="584" y2="259"/>                                                          │

23:19:16 #4511 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="245"         │

23:19:16 #4512 [Debug] > │ x2="584" y2="245"/>                                                          │

23:19:16 #4513 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="231"         │

23:19:16 #4514 [Debug] > │ x2="584" y2="231"/>                                                          │

23:19:16 #4515 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217"         │

23:19:16 #4516 [Debug] > │ x2="584" y2="217"/>                                                          │

23:19:16 #4517 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="203"         │

23:19:16 #4518 [Debug] > │ x2="584" y2="203"/>                                                          │

23:19:16 #4519 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="189"         │

23:19:16 #4520 [Debug] > │ x2="584" y2="189"/>                                                          │

23:19:16 #4521 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="175"         │

23:19:16 #4522 [Debug] > │ x2="584" y2="175"/>                                                          │

23:19:16 #4523 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="161"         │

23:19:16 #4524 [Debug] > │ x2="584" y2="161"/>                                                          │

23:19:16 #4525 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="146"         │

23:19:16 #4526 [Debug] > │ x2="584" y2="146"/>                                                          │

23:19:16 #4527 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="132"         │

23:19:16 #4528 [Debug] > │ x2="584" y2="132"/>                                                          │

23:19:16 #4529 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118"         │

23:19:16 #4530 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:16 #4531 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="104"         │

23:19:16 #4532 [Debug] > │ x2="584" y2="104"/>                                                          │

23:19:16 #4533 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="90" x2="584" │

23:19:16 #4534 [Debug] > │ y2="90"/>                                                                    │

23:19:16 #4535 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="76" x2="584" │

23:19:16 #4536 [Debug] > │ y2="76"/>                                                                    │

23:19:16 #4537 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:16 #4538 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4539 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4540 [Debug] > │ time (s)                                                                     │

23:19:16 #4541 [Debug] > │ </text>                                                                      │

23:19:16 #4542 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:16 #4543 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4544 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:16 #4545 [Debug] > │                                                                              │

23:19:16 #4546 [Debug] > │ </text>                                                                      │

23:19:16 #4547 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:16 #4548 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4549 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4550 [Debug] > │ time (s)                                                                     │

23:19:16 #4551 [Debug] > │ </text>                                                                      │

23:19:16 #4552 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4553 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4554 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:16 #4555 [Debug] > │                                                                              │

23:19:16 #4556 [Debug] > │ </text>                                                                      │

23:19:16 #4557 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:16 #4558 [Debug] > │ y2="75"/>                                                                    │

23:19:16 #4559 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="111" y1="424"        │

23:19:16 #4560 [Debug] > │ x2="111" y2="75"/>                                                           │

23:19:16 #4561 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="153" y1="424"        │

23:19:16 #4562 [Debug] > │ x2="153" y2="75"/>                                                           │

23:19:16 #4563 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="194" y1="424"        │

23:19:16 #4564 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:16 #4565 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424"        │

23:19:16 #4566 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:16 #4567 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="277" y1="424"        │

23:19:16 #4568 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:16 #4569 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:16 #4570 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:16 #4571 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="361" y1="424"        │

23:19:16 #4572 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:16 #4573 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424"        │

23:19:16 #4574 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:16 #4575 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="444" y1="424"        │

23:19:16 #4576 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:16 #4577 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="485" y1="424"        │

23:19:16 #4578 [Debug] > │ x2="485" y2="75"/>                                                           │

23:19:16 #4579 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="527" y1="424"        │

23:19:16 #4580 [Debug] > │ x2="527" y2="75"/>                                                           │

23:19:16 #4581 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:16 #4582 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:16 #4583 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:16 #4584 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:16 #4585 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="358"         │

23:19:16 #4586 [Debug] > │ x2="584" y2="358"/>                                                          │

23:19:16 #4587 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="302"         │

23:19:16 #4588 [Debug] > │ x2="584" y2="302"/>                                                          │

23:19:16 #4589 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="245"         │

23:19:16 #4590 [Debug] > │ x2="584" y2="245"/>                                                          │

23:19:16 #4591 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="189"         │

23:19:16 #4592 [Debug] > │ x2="584" y2="189"/>                                                          │

23:19:16 #4593 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="132"         │

23:19:16 #4594 [Debug] > │ x2="584" y2="132"/>                                                          │

23:19:16 #4595 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="76" x2="584" │

23:19:16 #4596 [Debug] > │ y2="76"/>                                                                    │

23:19:16 #4597 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4598 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:16 #4599 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:16 #4600 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4601 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4602 [Debug] > │ 0.0                                                                          │

23:19:16 #4603 [Debug] > │ </text>                                                                      │

23:19:16 #4604 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4605 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:16 #4606 [Debug] > │ <text x="111" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4607 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4608 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4609 [Debug] > │ 5.0                                                                          │

23:19:16 #4610 [Debug] > │ </text>                                                                      │

23:19:16 #4611 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4612 [Debug] > │ points="111,69 111,74 "/>                                                    │

23:19:16 #4613 [Debug] > │ <text x="153" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4614 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4615 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4616 [Debug] > │ 10.0                                                                         │

23:19:16 #4617 [Debug] > │ </text>                                                                      │

23:19:16 #4618 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4619 [Debug] > │ points="153,69 153,74 "/>                                                    │

23:19:16 #4620 [Debug] > │ <text x="194" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4621 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4622 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4623 [Debug] > │ 15.0                                                                         │

23:19:16 #4624 [Debug] > │ </text>                                                                      │

23:19:16 #4625 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4626 [Debug] > │ points="194,69 194,74 "/>                                                    │

23:19:16 #4627 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4628 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4629 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4630 [Debug] > │ 20.0                                                                         │

23:19:16 #4631 [Debug] > │ </text>                                                                      │

23:19:16 #4632 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4633 [Debug] > │ points="236,69 236,74 "/>                                                    │

23:19:16 #4634 [Debug] > │ <text x="277" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4635 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4636 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4637 [Debug] > │ 25.0                                                                         │

23:19:16 #4638 [Debug] > │ </text>                                                                      │

23:19:16 #4639 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4640 [Debug] > │ points="277,69 277,74 "/>                                                    │

23:19:16 #4641 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4642 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4643 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4644 [Debug] > │ 30.0                                                                         │

23:19:16 #4645 [Debug] > │ </text>                                                                      │

23:19:16 #4646 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4647 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:16 #4648 [Debug] > │ <text x="361" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4649 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4650 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4651 [Debug] > │ 35.0                                                                         │

23:19:16 #4652 [Debug] > │ </text>                                                                      │

23:19:16 #4653 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4654 [Debug] > │ points="361,69 361,74 "/>                                                    │

23:19:16 #4655 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4656 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4657 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4658 [Debug] > │ 40.0                                                                         │

23:19:16 #4659 [Debug] > │ </text>                                                                      │

23:19:16 #4660 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4661 [Debug] > │ points="402,69 402,74 "/>                                                    │

23:19:16 #4662 [Debug] > │ <text x="444" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4663 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4664 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4665 [Debug] > │ 45.0                                                                         │

23:19:16 #4666 [Debug] > │ </text>                                                                      │

23:19:16 #4667 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4668 [Debug] > │ points="444,69 444,74 "/>                                                    │

23:19:16 #4669 [Debug] > │ <text x="485" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4670 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4671 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4672 [Debug] > │ 50.0                                                                         │

23:19:16 #4673 [Debug] > │ </text>                                                                      │

23:19:16 #4674 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4675 [Debug] > │ points="485,69 485,74 "/>                                                    │

23:19:16 #4676 [Debug] > │ <text x="527" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4677 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4678 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4679 [Debug] > │ 55.0                                                                         │

23:19:16 #4680 [Debug] > │ </text>                                                                      │

23:19:16 #4681 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4682 [Debug] > │ points="527,69 527,74 "/>                                                    │

23:19:16 #4683 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:16 #4684 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4685 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4686 [Debug] > │ 60.0                                                                         │

23:19:16 #4687 [Debug] > │ </text>                                                                      │

23:19:16 #4688 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4689 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:16 #4690 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4691 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:16 #4692 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:16 #4693 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4694 [Debug] > │ 0.0                                                                          │

23:19:16 #4695 [Debug] > │ </text>                                                                      │

23:19:16 #4696 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4697 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:16 #4698 [Debug] > │ <text x="45" y="358" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:16 #4699 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4700 [Debug] > │ 2.0                                                                          │

23:19:16 #4701 [Debug] > │ </text>                                                                      │

23:19:16 #4702 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4703 [Debug] > │ points="49,358 54,358 "/>                                                    │

23:19:16 #4704 [Debug] > │ <text x="45" y="302" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:16 #4705 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4706 [Debug] > │ 4.0                                                                          │

23:19:16 #4707 [Debug] > │ </text>                                                                      │

23:19:16 #4708 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4709 [Debug] > │ points="49,302 54,302 "/>                                                    │

23:19:16 #4710 [Debug] > │ <text x="45" y="245" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:16 #4711 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4712 [Debug] > │ 6.0                                                                          │

23:19:16 #4713 [Debug] > │ </text>                                                                      │

23:19:16 #4714 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4715 [Debug] > │ points="49,245 54,245 "/>                                                    │

23:19:16 #4716 [Debug] > │ <text x="45" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:16 #4717 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4718 [Debug] > │ 8.0                                                                          │

23:19:16 #4719 [Debug] > │ </text>                                                                      │

23:19:16 #4720 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4721 [Debug] > │ points="49,189 54,189 "/>                                                    │

23:19:16 #4722 [Debug] > │ <text x="45" y="132" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:16 #4723 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4724 [Debug] > │ 10.0                                                                         │

23:19:16 #4725 [Debug] > │ </text>                                                                      │

23:19:16 #4726 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4727 [Debug] > │ points="49,132 54,132 "/>                                                    │

23:19:16 #4728 [Debug] > │ <text x="45" y="76" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:16 #4729 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4730 [Debug] > │ 12.0                                                                         │

23:19:16 #4731 [Debug] > │ </text>                                                                      │

23:19:16 #4732 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4733 [Debug] > │ points="49,76 54,76 "/>                                                      │

23:19:16 #4734 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4735 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:16 #4736 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:16 #4737 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4738 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4739 [Debug] > │ 0.0                                                                          │

23:19:16 #4740 [Debug] > │ </text>                                                                      │

23:19:16 #4741 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4742 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:16 #4743 [Debug] > │ <text x="111" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4744 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4745 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4746 [Debug] > │ 5.0                                                                          │

23:19:16 #4747 [Debug] > │ </text>                                                                      │

23:19:16 #4748 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4749 [Debug] > │ points="111,425 111,430 "/>                                                  │

23:19:16 #4750 [Debug] > │ <text x="153" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4751 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4752 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4753 [Debug] > │ 10.0                                                                         │

23:19:16 #4754 [Debug] > │ </text>                                                                      │

23:19:16 #4755 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4756 [Debug] > │ points="153,425 153,430 "/>                                                  │

23:19:16 #4757 [Debug] > │ <text x="194" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4758 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4759 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4760 [Debug] > │ 15.0                                                                         │

23:19:16 #4761 [Debug] > │ </text>                                                                      │

23:19:16 #4762 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4763 [Debug] > │ points="194,425 194,430 "/>                                                  │

23:19:16 #4764 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4765 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4766 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4767 [Debug] > │ 20.0                                                                         │

23:19:16 #4768 [Debug] > │ </text>                                                                      │

23:19:16 #4769 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4770 [Debug] > │ points="236,425 236,430 "/>                                                  │

23:19:16 #4771 [Debug] > │ <text x="277" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4772 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4773 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4774 [Debug] > │ 25.0                                                                         │

23:19:16 #4775 [Debug] > │ </text>                                                                      │

23:19:16 #4776 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4777 [Debug] > │ points="277,425 277,430 "/>                                                  │

23:19:16 #4778 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4779 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4780 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4781 [Debug] > │ 30.0                                                                         │

23:19:16 #4782 [Debug] > │ </text>                                                                      │

23:19:16 #4783 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4784 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:16 #4785 [Debug] > │ <text x="361" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4786 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4787 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4788 [Debug] > │ 35.0                                                                         │

23:19:16 #4789 [Debug] > │ </text>                                                                      │

23:19:16 #4790 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4791 [Debug] > │ points="361,425 361,430 "/>                                                  │

23:19:16 #4792 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4793 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4794 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4795 [Debug] > │ 40.0                                                                         │

23:19:16 #4796 [Debug] > │ </text>                                                                      │

23:19:16 #4797 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4798 [Debug] > │ points="402,425 402,430 "/>                                                  │

23:19:16 #4799 [Debug] > │ <text x="444" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4800 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4801 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4802 [Debug] > │ 45.0                                                                         │

23:19:16 #4803 [Debug] > │ </text>                                                                      │

23:19:16 #4804 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4805 [Debug] > │ points="444,425 444,430 "/>                                                  │

23:19:16 #4806 [Debug] > │ <text x="485" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4807 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4808 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4809 [Debug] > │ 50.0                                                                         │

23:19:16 #4810 [Debug] > │ </text>                                                                      │

23:19:16 #4811 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4812 [Debug] > │ points="485,425 485,430 "/>                                                  │

23:19:16 #4813 [Debug] > │ <text x="527" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4814 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4815 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4816 [Debug] > │ 55.0                                                                         │

23:19:16 #4817 [Debug] > │ </text>                                                                      │

23:19:16 #4818 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4819 [Debug] > │ points="527,425 527,430 "/>                                                  │

23:19:16 #4820 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:16 #4821 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4822 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4823 [Debug] > │ 60.0                                                                         │

23:19:16 #4824 [Debug] > │ </text>                                                                      │

23:19:16 #4825 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4826 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:16 #4827 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4828 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:16 #4829 [Debug] > │ <text x="617" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:16 #4830 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4831 [Debug] > │ 0.0                                                                          │

23:19:16 #4832 [Debug] > │ </text>                                                                      │

23:19:16 #4833 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4834 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:16 #4835 [Debug] > │ <text x="617" y="358" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:16 #4836 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4837 [Debug] > │ 2.0                                                                          │

23:19:16 #4838 [Debug] > │ </text>                                                                      │

23:19:16 #4839 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4840 [Debug] > │ points="585,358 590,358 "/>                                                  │

23:19:16 #4841 [Debug] > │ <text x="617" y="302" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:16 #4842 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4843 [Debug] > │ 4.0                                                                          │

23:19:16 #4844 [Debug] > │ </text>                                                                      │

23:19:16 #4845 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4846 [Debug] > │ points="585,302 590,302 "/>                                                  │

23:19:16 #4847 [Debug] > │ <text x="617" y="245" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:16 #4848 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4849 [Debug] > │ 6.0                                                                          │

23:19:16 #4850 [Debug] > │ </text>                                                                      │

23:19:16 #4851 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4852 [Debug] > │ points="585,245 590,245 "/>                                                  │

23:19:16 #4853 [Debug] > │ <text x="617" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:16 #4854 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4855 [Debug] > │ 8.0                                                                          │

23:19:16 #4856 [Debug] > │ </text>                                                                      │

23:19:16 #4857 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4858 [Debug] > │ points="585,189 590,189 "/>                                                  │

23:19:16 #4859 [Debug] > │ <text x="595" y="132" dy="0.5ex" text-anchor="start"                         │

23:19:16 #4860 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4861 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4862 [Debug] > │ 10.0                                                                         │

23:19:16 #4863 [Debug] > │ </text>                                                                      │

23:19:16 #4864 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4865 [Debug] > │ points="585,132 590,132 "/>                                                  │

23:19:16 #4866 [Debug] > │ <text x="595" y="76" dy="0.5ex" text-anchor="start" font-family="sans-serif" │

23:19:16 #4867 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:16 #4868 [Debug] > │ 12.0                                                                         │

23:19:16 #4869 [Debug] > │ </text>                                                                      │

23:19:16 #4870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:16 #4871 [Debug] > │ points="585,76 590,76 "/>                                                    │

23:19:16 #4872 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:16 #4873 [Debug] > │ points="69,415 74,415 78,374 82,335 86,335 90,335 94,297 99,261 103,261      │

23:19:16 #4874 [Debug] > │ 107,261 111,230 115,202 119,202 124,202 128,179 132,159 136,159 140,159      │

23:19:16 #4875 [Debug] > │ 144,143 148,130 153,130 157,130 161,120 165,112 169,112 173,112 178,106      │

23:19:16 #4876 [Debug] > │ 182,101 186,101 190,101 194,97 198,94 203,94 207,94 211,92 215,91 219,91     │

23:19:16 #4877 [Debug] > │ 223,91 228,89 232,88 236,88 240,88 244,88 248,87 252,87 257,87 261,87 265,86 │

23:19:16 #4878 [Debug] > │ 269,86 273,86 277,86 282,86 286,86 290,86 294,86 298,86 302,86 307,86 311,86 │

23:19:16 #4879 [Debug] > │ 315,86 319,86 323,86 327,86 331,85 336,85 340,85 344,85 348,85 352,85 356,85 │

23:19:16 #4880 [Debug] > │ 361,85 365,85 369,85 373,85 377,85 381,85 386,85 390,85 394,85 398,85 402,85 │

23:19:16 #4881 [Debug] > │ 406,85 410,85 415,85 419,85 423,85 427,85 431,85 435,85 440,85 444,85 448,85 │

23:19:16 #4882 [Debug] > │ 452,85 456,85 460,85 465,85 469,85 473,85 477,85 481,85 485,85 490,85 494,85 │

23:19:16 #4883 [Debug] > │ 498,85 502,85 506,85 510,85 514,85 519,85 523,85 527,85 531,85 535,85 539,85 │

23:19:16 #4884 [Debug] > │ 544,85 548,85 552,85 556,85 560,85 564,85 569,85 "/>                         │

23:19:16 #4885 [Debug] > │ <rect x="410" y="235" width="170" height="30" opacity="1" fill="none"        │

23:19:16 #4886 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:16 #4887 [Debug] > │ <text x="450" y="245" dy="0.76em" text-anchor="start"                        │

23:19:16 #4888 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:16 #4889 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:16 #4890 [Debug] > │ velocity of bike (m/s)                                                       │

23:19:16 #4891 [Debug] > │ </text>                                                                      │

23:19:16 #4892 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:16 #4893 [Debug] > │ points="420,250 440,250 "/>                                                  │

23:19:16 #4894 [Debug] > │ </svg>                                                                       │

23:19:16 #4895 [Debug] > │                                                                              │

23:19:16 #4896 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4897 [Debug] >

23:19:16 #4898 [Debug] > ╭─[ 441.63ms - stdout ]────────────────────────────────────────────────────────╮

23:19:16 #4899 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:16 #4900 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:16 #4901 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:16 #4902 [Debug] > │     let v2 : bool = v1 < 121                                                 │

23:19:16 #4903 [Debug] > │     v2                                                                       │

23:19:16 #4904 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:16 #4905 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:16 #4906 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:16 #4907 [Debug] > │     v3                                                                       │

23:19:16 #4908 [Debug] > │ and method3 (v0 : float, v1 : float) : float =                               │

23:19:16 #4909 [Debug] > │     let v2 : bool = v1 <= 0.0                                                │

23:19:16 #4910 [Debug] > │     if v2 then                                                               │

23:19:16 #4911 [Debug] > │         v0                                                                   │

23:19:16 #4912 [Debug] > │     else                                                                     │

23:19:16 #4913 [Debug] > │         let v3 : float =  -v0                                                │

23:19:16 #4914 [Debug] > │         let v4 : bool = v0 >= v3                                             │

23:19:16 #4915 [Debug] > │         let v5 : float =                                                     │

23:19:16 #4916 [Debug] > │             if v4 then                                                       │

23:19:16 #4917 [Debug] > │                 v0                                                           │

23:19:16 #4918 [Debug] > │             else                                                             │

23:19:16 #4919 [Debug] > │                 v3                                                           │

23:19:16 #4920 [Debug] > │         let v6 : float = -1.47 * v5                                          │

23:19:16 #4921 [Debug] > │         let v7 : float = v6 * v0                                             │

23:19:16 #4922 [Debug] > │         let v8 : float = v7 / 2.0                                            │

23:19:16 #4923 [Debug] > │         let v9 : float = 100.0 + v8                                          │

23:19:16 #4924 [Debug] > │         let v10 : float = v9 / 70.0                                          │

23:19:16 #4925 [Debug] > │         let v11 : float = v0 + v10                                           │

23:19:16 #4926 [Debug] > │         let v12 : float = v1 - 1.0                                           │

23:19:16 #4927 [Debug] > │         method3(v11, v12)                                                    │

23:19:16 #4928 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:16 #4929 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:16 #4930 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (121)                      │

23:19:16 #4931 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:16 #4932 [Debug] > │     while method1(v1) do                                                     │

23:19:16 #4933 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:16 #4934 [Debug] > │         let v4 : float = float v3                                            │

23:19:16 #4935 [Debug] > │         let v5 : float = 0.5 * v4                                            │

23:19:16 #4936 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:16 #4937 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:16 #4938 [Debug] > │         v1.l0 <- v6                                                          │

23:19:16 #4939 [Debug] > │         ()                                                                   │

23:19:16 #4940 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:16 #4941 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:16 #4942 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:16 #4943 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:16 #4944 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:16 #4945 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:16 #4946 [Debug] > │         let v13 : float = round v12                                          │

23:19:16 #4947 [Debug] > │         let v14 : float =  -v13                                              │

23:19:16 #4948 [Debug] > │         let v15 : bool = v13 >= v14                                          │

23:19:16 #4949 [Debug] > │         let v16 : float =                                                    │

23:19:16 #4950 [Debug] > │             if v15 then                                                      │

23:19:16 #4951 [Debug] > │                 v13                                                          │

23:19:16 #4952 [Debug] > │             else                                                             │

23:19:16 #4953 [Debug] > │                 v14                                                          │

23:19:16 #4954 [Debug] > │         let v17 : float = 0.0                                                │

23:19:16 #4955 [Debug] > │         let v18 : float = method3(v17, v16)                                  │

23:19:16 #4956 [Debug] > │         v8.[int v11] <- v18                                                  │

23:19:16 #4957 [Debug] > │         let v19 : int32 = v11 + 1                                            │

23:19:16 #4958 [Debug] > │         v9.l0 <- v19                                                         │

23:19:16 #4959 [Debug] > │         ()                                                                   │

23:19:16 #4960 [Debug] > │     let v20 : string = "velocity of bike (m/s)"                              │

23:19:16 #4961 [Debug] > │     let v21 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:16 #4962 [Debug] > │ (v20, v0, v8)|]                                                              │

23:19:16 #4963 [Debug] > │     let v22 : string = "bike velocity"                                       │

23:19:16 #4964 [Debug] > │     let v23 : string = "time (s)"                                            │

23:19:16 #4965 [Debug] > │     let v24 : string = ""                                                    │

23:19:16 #4966 [Debug] > │     struct (v22, v23, v24, v21)                                              │

23:19:16 #4967 [Debug] > │ method0()                                                                    │

23:19:16 #4968 [Debug] > │                                                                              │

23:19:16 #4969 [Debug] > │                                                                              │

23:19:16 #4970 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4971 [Debug] >

23:19:16 #4972 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:16 #4973 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:16 #4974 [Debug] > │ ## velocity_ftv                                                              │

23:19:16 #4975 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4976 [Debug] >

23:19:16 #4977 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:16 #4978 [Debug] > inl newton_second_tv m fs (t, v0) =

23:19:16 #4979 [Debug] >     inl f_net = fs |> listm.map (fun f => f (t, v0)) |> listm'.sum

23:19:16 #4980 [Debug] >     inl acc = f_net / m

23:19:16 #4981 [Debug] >     1, acc

23:19:16 #4982 [Debug] >

23:19:16 #4983 [Debug] > inl update_tv dt m fs (t, v0) =

23:19:16 #4984 [Debug] >     inl dtdt, dvdt = newton_second_tv m fs (t, v0)

23:19:16 #4985 [Debug] >     t + dtdt * dt, v0 + dvdt * dt

23:19:16 #4986 [Debug] >

23:19:16 #4987 [Debug] > inl velocity_ftv dt m tv0 fs t =

23:19:16 #4988 [Debug] >     t / dt |> math.round |> abs

23:19:16 #4989 [Debug] >     |> seq.iterate_ (update_tv dt m fs) tv0

23:19:16 #4990 [Debug] >     |> snd

23:19:16 #4991 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1679-7985-7ec815910234\main.spi

23:19:16 #4992 [Debug] >

23:19:16 #4993 [Debug] > ╭─[ 128.31ms - stdout ]────────────────────────────────────────────────────────╮

23:19:16 #4994 [Debug] > │ ()                                                                           │

23:19:16 #4995 [Debug] > │                                                                              │

23:19:16 #4996 [Debug] > │                                                                              │

23:19:16 #4997 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:16 #4998 [Debug] >

23:19:16 #4999 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:16 #5000 [Debug] > // // test

23:19:16 #5001 [Debug] >

23:19:16 #5002 [Debug] > inl x = am'.init_series 0 100 0.1

23:19:16 #5003 [Debug] > inl y =

23:19:16 #5004 [Debug] >     x

23:19:16 #5005 [Debug] >     |> am.map (

23:19:16 #5006 [Debug] >         velocity_ftv 0.1 20 (0, 0) [[ fun (t, _) => pedal_coast t; fun (_, v) =>

23:19:16 #5007 [Debug] > f_air 2 1.225 0.5 v ]]

23:19:16 #5008 [Debug] >     )

23:19:16 #5009 [Debug] > "pedaling and coasting with air", "time (s)", "", ;[[ "velocity of bike (m/s)",

23:19:16 #5010 [Debug] > x, y ]]

23:19:17 #5011 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1692-9291-91254c6f5238\main.spi

23:19:17 #5012 [Debug] >

23:19:17 #5013 [Debug] > ╭─[ 292.69ms - return value ]──────────────────────────────────────────────────╮

23:19:17 #5014 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:17 #5015 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:17 #5016 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:17 #5017 [Debug] > │ stroke="none"/>                                                              │

23:19:17 #5018 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:17 #5019 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5020 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5021 [Debug] > │ pedaling and coasting with air                                               │

23:19:17 #5022 [Debug] > │ </text>                                                                      │

23:19:17 #5023 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │

23:19:17 #5024 [Debug] > │ y2="75"/>                                                                    │

23:19:17 #5025 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:17 #5026 [Debug] > │ y2="75"/>                                                                    │

23:19:17 #5027 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │

23:19:17 #5028 [Debug] > │ y2="75"/>                                                                    │

23:19:17 #5029 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │

23:19:17 #5030 [Debug] > │ y2="75"/>                                                                    │

23:19:17 #5031 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:17 #5032 [Debug] > │ y2="75"/>                                                                    │

23:19:17 #5033 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424"        │

23:19:17 #5034 [Debug] > │ x2="109" y2="75"/>                                                           │

23:19:17 #5035 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:17 #5036 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:17 #5037 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:17 #5038 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:17 #5039 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:17 #5040 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:17 #5041 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424"        │

23:19:17 #5042 [Debug] > │ x2="149" y2="75"/>                                                           │

23:19:17 #5043 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424"        │

23:19:17 #5044 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:17 #5045 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:17 #5046 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:17 #5047 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424"        │

23:19:17 #5048 [Debug] > │ x2="179" y2="75"/>                                                           │

23:19:17 #5049 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:17 #5050 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:17 #5051 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424"        │

23:19:17 #5052 [Debug] > │ x2="199" y2="75"/>                                                           │

23:19:17 #5053 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424"        │

23:19:17 #5054 [Debug] > │ x2="209" y2="75"/>                                                           │

23:19:17 #5055 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:17 #5056 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:17 #5057 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424"        │

23:19:17 #5058 [Debug] > │ x2="229" y2="75"/>                                                           │

23:19:17 #5059 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424"        │

23:19:17 #5060 [Debug] > │ x2="239" y2="75"/>                                                           │

23:19:17 #5061 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:17 #5062 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:17 #5063 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424"        │

23:19:17 #5064 [Debug] > │ x2="259" y2="75"/>                                                           │

23:19:17 #5065 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:17 #5066 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:17 #5067 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424"        │

23:19:17 #5068 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:17 #5069 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424"        │

23:19:17 #5070 [Debug] > │ x2="289" y2="75"/>                                                           │

23:19:17 #5071 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424"        │

23:19:17 #5072 [Debug] > │ x2="299" y2="75"/>                                                           │

23:19:17 #5073 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:17 #5074 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:17 #5075 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:17 #5076 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:17 #5077 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424"        │

23:19:17 #5078 [Debug] > │ x2="329" y2="75"/>                                                           │

23:19:17 #5079 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424"        │

23:19:17 #5080 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:17 #5081 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424"        │

23:19:17 #5082 [Debug] > │ x2="349" y2="75"/>                                                           │

23:19:17 #5083 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424"        │

23:19:17 #5084 [Debug] > │ x2="359" y2="75"/>                                                           │

23:19:17 #5085 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:17 #5086 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:17 #5087 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424"        │

23:19:17 #5088 [Debug] > │ x2="379" y2="75"/>                                                           │

23:19:17 #5089 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424"        │

23:19:17 #5090 [Debug] > │ x2="389" y2="75"/>                                                           │

23:19:17 #5091 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424"        │

23:19:17 #5092 [Debug] > │ x2="399" y2="75"/>                                                           │

23:19:17 #5093 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424"        │

23:19:17 #5094 [Debug] > │ x2="409" y2="75"/>                                                           │

23:19:17 #5095 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:17 #5096 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:17 #5097 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424"        │

23:19:17 #5098 [Debug] > │ x2="429" y2="75"/>                                                           │

23:19:17 #5099 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424"        │

23:19:17 #5100 [Debug] > │ x2="439" y2="75"/>                                                           │

23:19:17 #5101 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424"        │

23:19:17 #5102 [Debug] > │ x2="449" y2="75"/>                                                           │

23:19:17 #5103 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424"        │

23:19:17 #5104 [Debug] > │ x2="459" y2="75"/>                                                           │

23:19:17 #5105 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:17 #5106 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:17 #5107 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424"        │

23:19:17 #5108 [Debug] > │ x2="479" y2="75"/>                                                           │

23:19:17 #5109 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424"        │

23:19:17 #5110 [Debug] > │ x2="489" y2="75"/>                                                           │

23:19:17 #5111 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:17 #5112 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:17 #5113 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424"        │

23:19:17 #5114 [Debug] > │ x2="509" y2="75"/>                                                           │

23:19:17 #5115 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:17 #5116 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:17 #5117 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424"        │

23:19:17 #5118 [Debug] > │ x2="529" y2="75"/>                                                           │

23:19:17 #5119 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424"        │

23:19:17 #5120 [Debug] > │ x2="539" y2="75"/>                                                           │

23:19:17 #5121 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424"        │

23:19:17 #5122 [Debug] > │ x2="549" y2="75"/>                                                           │

23:19:17 #5123 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424"        │

23:19:17 #5124 [Debug] > │ x2="559" y2="75"/>                                                           │

23:19:17 #5125 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:17 #5126 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:17 #5127 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424"        │

23:19:17 #5128 [Debug] > │ x2="579" y2="75"/>                                                           │

23:19:17 #5129 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="423"         │

23:19:17 #5130 [Debug] > │ x2="584" y2="423"/>                                                          │

23:19:17 #5131 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:17 #5132 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:17 #5133 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="406"         │

23:19:17 #5134 [Debug] > │ x2="584" y2="406"/>                                                          │

23:19:17 #5135 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="397"         │

23:19:17 #5136 [Debug] > │ x2="584" y2="397"/>                                                          │

23:19:17 #5137 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="389"         │

23:19:17 #5138 [Debug] > │ x2="584" y2="389"/>                                                          │

23:19:17 #5139 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380"         │

23:19:17 #5140 [Debug] > │ x2="584" y2="380"/>                                                          │

23:19:17 #5141 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="371"         │

23:19:17 #5142 [Debug] > │ x2="584" y2="371"/>                                                          │

23:19:17 #5143 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="362"         │

23:19:17 #5144 [Debug] > │ x2="584" y2="362"/>                                                          │

23:19:17 #5145 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="354"         │

23:19:17 #5146 [Debug] > │ x2="584" y2="354"/>                                                          │

23:19:17 #5147 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="345"         │

23:19:17 #5148 [Debug] > │ x2="584" y2="345"/>                                                          │

23:19:17 #5149 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="336"         │

23:19:17 #5150 [Debug] > │ x2="584" y2="336"/>                                                          │

23:19:17 #5151 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="328"         │

23:19:17 #5152 [Debug] > │ x2="584" y2="328"/>                                                          │

23:19:17 #5153 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="319"         │

23:19:17 #5154 [Debug] > │ x2="584" y2="319"/>                                                          │

23:19:17 #5155 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="310"         │

23:19:17 #5156 [Debug] > │ x2="584" y2="310"/>                                                          │

23:19:17 #5157 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="302"         │

23:19:17 #5158 [Debug] > │ x2="584" y2="302"/>                                                          │

23:19:17 #5159 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="293"         │

23:19:17 #5160 [Debug] > │ x2="584" y2="293"/>                                                          │

23:19:17 #5161 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="284"         │

23:19:17 #5162 [Debug] > │ x2="584" y2="284"/>                                                          │

23:19:17 #5163 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="275"         │

23:19:17 #5164 [Debug] > │ x2="584" y2="275"/>                                                          │

23:19:17 #5165 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="267"         │

23:19:17 #5166 [Debug] > │ x2="584" y2="267"/>                                                          │

23:19:17 #5167 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="258"         │

23:19:17 #5168 [Debug] > │ x2="584" y2="258"/>                                                          │

23:19:17 #5169 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="249"         │

23:19:17 #5170 [Debug] > │ x2="584" y2="249"/>                                                          │

23:19:17 #5171 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="241"         │

23:19:17 #5172 [Debug] > │ x2="584" y2="241"/>                                                          │

23:19:17 #5173 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="232"         │

23:19:17 #5174 [Debug] > │ x2="584" y2="232"/>                                                          │

23:19:17 #5175 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="223"         │

23:19:17 #5176 [Debug] > │ x2="584" y2="223"/>                                                          │

23:19:17 #5177 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="215"         │

23:19:17 #5178 [Debug] > │ x2="584" y2="215"/>                                                          │

23:19:17 #5179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="206"         │

23:19:17 #5180 [Debug] > │ x2="584" y2="206"/>                                                          │

23:19:17 #5181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="197"         │

23:19:17 #5182 [Debug] > │ x2="584" y2="197"/>                                                          │

23:19:17 #5183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="188"         │

23:19:17 #5184 [Debug] > │ x2="584" y2="188"/>                                                          │

23:19:17 #5185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="180"         │

23:19:17 #5186 [Debug] > │ x2="584" y2="180"/>                                                          │

23:19:17 #5187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="171"         │

23:19:17 #5188 [Debug] > │ x2="584" y2="171"/>                                                          │

23:19:17 #5189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="162"         │

23:19:17 #5190 [Debug] > │ x2="584" y2="162"/>                                                          │

23:19:17 #5191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="154"         │

23:19:17 #5192 [Debug] > │ x2="584" y2="154"/>                                                          │

23:19:17 #5193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="145"         │

23:19:17 #5194 [Debug] > │ x2="584" y2="145"/>                                                          │

23:19:17 #5195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="136"         │

23:19:17 #5196 [Debug] > │ x2="584" y2="136"/>                                                          │

23:19:17 #5197 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="128"         │

23:19:17 #5198 [Debug] > │ x2="584" y2="128"/>                                                          │

23:19:17 #5199 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="119"         │

23:19:17 #5200 [Debug] > │ x2="584" y2="119"/>                                                          │

23:19:17 #5201 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="110"         │

23:19:17 #5202 [Debug] > │ x2="584" y2="110"/>                                                          │

23:19:17 #5203 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102"         │

23:19:17 #5204 [Debug] > │ x2="584" y2="102"/>                                                          │

23:19:17 #5205 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="93" x2="584" │

23:19:17 #5206 [Debug] > │ y2="93"/>                                                                    │

23:19:17 #5207 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:17 #5208 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5209 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5210 [Debug] > │ time (s)                                                                     │

23:19:17 #5211 [Debug] > │ </text>                                                                      │

23:19:17 #5212 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:17 #5213 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5214 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:17 #5215 [Debug] > │                                                                              │

23:19:17 #5216 [Debug] > │ </text>                                                                      │

23:19:17 #5217 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:17 #5218 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5219 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5220 [Debug] > │ time (s)                                                                     │

23:19:17 #5221 [Debug] > │ </text>                                                                      │

23:19:17 #5222 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5223 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5224 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:17 #5225 [Debug] > │                                                                              │

23:19:17 #5226 [Debug] > │ </text>                                                                      │

23:19:17 #5227 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:17 #5228 [Debug] > │ y2="75"/>                                                                    │

23:19:17 #5229 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:17 #5230 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:17 #5231 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:17 #5232 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:17 #5233 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:17 #5234 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:17 #5235 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:17 #5236 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:17 #5237 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:17 #5238 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:17 #5239 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:17 #5240 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:17 #5241 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:17 #5242 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:17 #5243 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:17 #5244 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:17 #5245 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:17 #5246 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:17 #5247 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:17 #5248 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:17 #5249 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:17 #5250 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:17 #5251 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="371"         │

23:19:17 #5252 [Debug] > │ x2="584" y2="371"/>                                                          │

23:19:17 #5253 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="328"         │

23:19:17 #5254 [Debug] > │ x2="584" y2="328"/>                                                          │

23:19:17 #5255 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="284"         │

23:19:17 #5256 [Debug] > │ x2="584" y2="284"/>                                                          │

23:19:17 #5257 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="241"         │

23:19:17 #5258 [Debug] > │ x2="584" y2="241"/>                                                          │

23:19:17 #5259 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="197"         │

23:19:17 #5260 [Debug] > │ x2="584" y2="197"/>                                                          │

23:19:17 #5261 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="154"         │

23:19:17 #5262 [Debug] > │ x2="584" y2="154"/>                                                          │

23:19:17 #5263 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="110"         │

23:19:17 #5264 [Debug] > │ x2="584" y2="110"/>                                                          │

23:19:17 #5265 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5266 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:17 #5267 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:17 #5268 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5269 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5270 [Debug] > │ 0.0                                                                          │

23:19:17 #5271 [Debug] > │ </text>                                                                      │

23:19:17 #5272 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5273 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:17 #5274 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5275 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5276 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5277 [Debug] > │ 10.0                                                                         │

23:19:17 #5278 [Debug] > │ </text>                                                                      │

23:19:17 #5279 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5280 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:17 #5281 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5282 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5283 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5284 [Debug] > │ 20.0                                                                         │

23:19:17 #5285 [Debug] > │ </text>                                                                      │

23:19:17 #5286 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5287 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:17 #5288 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5289 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5290 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5291 [Debug] > │ 30.0                                                                         │

23:19:17 #5292 [Debug] > │ </text>                                                                      │

23:19:17 #5293 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5294 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:17 #5295 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5296 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5297 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5298 [Debug] > │ 40.0                                                                         │

23:19:17 #5299 [Debug] > │ </text>                                                                      │

23:19:17 #5300 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5301 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:17 #5302 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5303 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5304 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5305 [Debug] > │ 50.0                                                                         │

23:19:17 #5306 [Debug] > │ </text>                                                                      │

23:19:17 #5307 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5308 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:17 #5309 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5310 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5311 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5312 [Debug] > │ 60.0                                                                         │

23:19:17 #5313 [Debug] > │ </text>                                                                      │

23:19:17 #5314 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5315 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:17 #5316 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5317 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5318 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5319 [Debug] > │ 70.0                                                                         │

23:19:17 #5320 [Debug] > │ </text>                                                                      │

23:19:17 #5321 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5322 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:17 #5323 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5324 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5325 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5326 [Debug] > │ 80.0                                                                         │

23:19:17 #5327 [Debug] > │ </text>                                                                      │

23:19:17 #5328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5329 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:17 #5330 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5331 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5332 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5333 [Debug] > │ 90.0                                                                         │

23:19:17 #5334 [Debug] > │ </text>                                                                      │

23:19:17 #5335 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5336 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:17 #5337 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:17 #5338 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5339 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5340 [Debug] > │ 100.0                                                                        │

23:19:17 #5341 [Debug] > │ </text>                                                                      │

23:19:17 #5342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5343 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:17 #5344 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5345 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:17 #5346 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5347 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5348 [Debug] > │ 0.0                                                                          │

23:19:17 #5349 [Debug] > │ </text>                                                                      │

23:19:17 #5350 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5351 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:17 #5352 [Debug] > │ <text x="45" y="371" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5353 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5354 [Debug] > │ 0.5                                                                          │

23:19:17 #5355 [Debug] > │ </text>                                                                      │

23:19:17 #5356 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5357 [Debug] > │ points="49,371 54,371 "/>                                                    │

23:19:17 #5358 [Debug] > │ <text x="45" y="328" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5359 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5360 [Debug] > │ 1.0                                                                          │

23:19:17 #5361 [Debug] > │ </text>                                                                      │

23:19:17 #5362 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5363 [Debug] > │ points="49,328 54,328 "/>                                                    │

23:19:17 #5364 [Debug] > │ <text x="45" y="284" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5365 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5366 [Debug] > │ 1.5                                                                          │

23:19:17 #5367 [Debug] > │ </text>                                                                      │

23:19:17 #5368 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5369 [Debug] > │ points="49,284 54,284 "/>                                                    │

23:19:17 #5370 [Debug] > │ <text x="45" y="241" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5371 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5372 [Debug] > │ 2.0                                                                          │

23:19:17 #5373 [Debug] > │ </text>                                                                      │

23:19:17 #5374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5375 [Debug] > │ points="49,241 54,241 "/>                                                    │

23:19:17 #5376 [Debug] > │ <text x="45" y="197" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5377 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5378 [Debug] > │ 2.5                                                                          │

23:19:17 #5379 [Debug] > │ </text>                                                                      │

23:19:17 #5380 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5381 [Debug] > │ points="49,197 54,197 "/>                                                    │

23:19:17 #5382 [Debug] > │ <text x="45" y="154" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5383 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5384 [Debug] > │ 3.0                                                                          │

23:19:17 #5385 [Debug] > │ </text>                                                                      │

23:19:17 #5386 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5387 [Debug] > │ points="49,154 54,154 "/>                                                    │

23:19:17 #5388 [Debug] > │ <text x="45" y="110" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:17 #5389 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:17 #5390 [Debug] > │ 3.5                                                                          │

23:19:17 #5391 [Debug] > │ </text>                                                                      │

23:19:17 #5392 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5393 [Debug] > │ points="49,110 54,110 "/>                                                    │

23:19:17 #5394 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5395 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:17 #5396 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:17 #5397 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5398 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5399 [Debug] > │ 0.0                                                                          │

23:19:17 #5400 [Debug] > │ </text>                                                                      │

23:19:17 #5401 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5402 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:17 #5403 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5404 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5405 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5406 [Debug] > │ 10.0                                                                         │

23:19:17 #5407 [Debug] > │ </text>                                                                      │

23:19:17 #5408 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5409 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:17 #5410 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5411 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5412 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5413 [Debug] > │ 20.0                                                                         │

23:19:17 #5414 [Debug] > │ </text>                                                                      │

23:19:17 #5415 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5416 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:17 #5417 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5418 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5419 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5420 [Debug] > │ 30.0                                                                         │

23:19:17 #5421 [Debug] > │ </text>                                                                      │

23:19:17 #5422 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5423 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:17 #5424 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5425 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5426 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5427 [Debug] > │ 40.0                                                                         │

23:19:17 #5428 [Debug] > │ </text>                                                                      │

23:19:17 #5429 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5430 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:17 #5431 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5432 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5433 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5434 [Debug] > │ 50.0                                                                         │

23:19:17 #5435 [Debug] > │ </text>                                                                      │

23:19:17 #5436 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5437 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:17 #5438 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5439 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5440 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5441 [Debug] > │ 60.0                                                                         │

23:19:17 #5442 [Debug] > │ </text>                                                                      │

23:19:17 #5443 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5444 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:17 #5445 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5446 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5447 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5448 [Debug] > │ 70.0                                                                         │

23:19:17 #5449 [Debug] > │ </text>                                                                      │

23:19:17 #5450 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5451 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:17 #5452 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5453 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5454 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5455 [Debug] > │ 80.0                                                                         │

23:19:17 #5456 [Debug] > │ </text>                                                                      │

23:19:17 #5457 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5458 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:17 #5459 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5460 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5461 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5462 [Debug] > │ 90.0                                                                         │

23:19:17 #5463 [Debug] > │ </text>                                                                      │

23:19:17 #5464 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5465 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:17 #5466 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:17 #5467 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5468 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5469 [Debug] > │ 100.0                                                                        │

23:19:17 #5470 [Debug] > │ </text>                                                                      │

23:19:17 #5471 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5472 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:17 #5473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5474 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:17 #5475 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5476 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5477 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5478 [Debug] > │ 0.0                                                                          │

23:19:17 #5479 [Debug] > │ </text>                                                                      │

23:19:17 #5480 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5481 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:17 #5482 [Debug] > │ <text x="595" y="371" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5483 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5484 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5485 [Debug] > │ 0.5                                                                          │

23:19:17 #5486 [Debug] > │ </text>                                                                      │

23:19:17 #5487 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5488 [Debug] > │ points="585,371 590,371 "/>                                                  │

23:19:17 #5489 [Debug] > │ <text x="595" y="328" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5490 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5491 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5492 [Debug] > │ 1.0                                                                          │

23:19:17 #5493 [Debug] > │ </text>                                                                      │

23:19:17 #5494 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5495 [Debug] > │ points="585,328 590,328 "/>                                                  │

23:19:17 #5496 [Debug] > │ <text x="595" y="284" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5497 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5498 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5499 [Debug] > │ 1.5                                                                          │

23:19:17 #5500 [Debug] > │ </text>                                                                      │

23:19:17 #5501 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5502 [Debug] > │ points="585,284 590,284 "/>                                                  │

23:19:17 #5503 [Debug] > │ <text x="595" y="241" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5504 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5505 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5506 [Debug] > │ 2.0                                                                          │

23:19:17 #5507 [Debug] > │ </text>                                                                      │

23:19:17 #5508 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5509 [Debug] > │ points="585,241 590,241 "/>                                                  │

23:19:17 #5510 [Debug] > │ <text x="595" y="197" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5511 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5512 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5513 [Debug] > │ 2.5                                                                          │

23:19:17 #5514 [Debug] > │ </text>                                                                      │

23:19:17 #5515 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5516 [Debug] > │ points="585,197 590,197 "/>                                                  │

23:19:17 #5517 [Debug] > │ <text x="595" y="154" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5518 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5519 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5520 [Debug] > │ 3.0                                                                          │

23:19:17 #5521 [Debug] > │ </text>                                                                      │

23:19:17 #5522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5523 [Debug] > │ points="585,154 590,154 "/>                                                  │

23:19:17 #5524 [Debug] > │ <text x="595" y="110" dy="0.5ex" text-anchor="start"                         │

23:19:17 #5525 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5526 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5527 [Debug] > │ 3.5                                                                          │

23:19:17 #5528 [Debug] > │ </text>                                                                      │

23:19:17 #5529 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:17 #5530 [Debug] > │ points="585,110 590,110 "/>                                                  │

23:19:17 #5531 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:17 #5532 [Debug] > │ points="69,415 70,415 70,410 71,406 71,402 72,397 72,393 73,389 73,384       │

23:19:17 #5533 [Debug] > │ 74,380 74,376 75,371 75,367 76,363 76,359 77,354 77,350 78,346 78,342 79,338 │

23:19:17 #5534 [Debug] > │ 79,333 80,329 80,325 81,321 81,317 82,313 82,309 83,305 83,301 84,297 84,293 │

23:19:17 #5535 [Debug] > │ 85,290 85,286 86,282 86,278 87,275 87,271 88,267 88,264 89,260 89,257 90,253 │

23:19:17 #5536 [Debug] > │ 90,250 91,246 91,243 92,240 92,236 93,233 93,230 94,227 94,224 95,221 95,218 │

23:19:17 #5537 [Debug] > │ 96,215 96,212 97,209 97,206 98,203 98,200 99,198 99,195 100,192 100,190      │

23:19:17 #5538 [Debug] > │ 101,187 101,185 102,182 102,180 103,177 103,175 104,173 104,170 105,168      │

23:19:17 #5539 [Debug] > │ 105,166 106,164 106,162 107,159 107,157 108,155 108,153 109,151 109,150      │

23:19:17 #5540 [Debug] > │ 110,148 110,146 111,144 111,142 112,141 112,139 113,137 113,136 114,134      │

23:19:17 #5541 [Debug] > │ 114,132 115,131 115,129 116,128 116,126 117,125 117,124 118,122 118,121      │

23:19:17 #5542 [Debug] > │ 119,120 119,118 120,117 120,120 121,123 121,126 122,129 122,132 123,135      │

23:19:17 #5543 [Debug] > │ 123,138 124,140 124,143 125,145 125,148 126,151 126,153 127,155 127,158      │

23:19:17 #5544 [Debug] > │ 128,160 128,162 129,165 129,167 130,169 130,171 131,173 131,175 132,177      │

23:19:17 #5545 [Debug] > │ 132,179 133,181 133,183 134,185 134,187 135,189 135,190 136,192 136,194      │

23:19:17 #5546 [Debug] > │ 137,196 137,197 138,199 138,201 139,202 139,204 140,205 140,207 141,208      │

23:19:17 #5547 [Debug] > │ 141,210 142,211 142,213 143,214 143,216 144,217 144,219 145,220 145,221      │

23:19:17 #5548 [Debug] > │ 146,223 146,224 147,225 147,226 148,228 148,229 149,230 149,231 150,232      │

23:19:17 #5549 [Debug] > │ 150,234 151,235 151,236 152,237 152,238 153,239 153,240 154,241 154,242      │

23:19:17 #5550 [Debug] > │ 155,244 155,245 156,246 156,247 157,248 157,249 158,250 158,250 159,251      │

23:19:17 #5551 [Debug] > │ 159,252 160,253 160,254 161,255 161,256 162,257 162,258 163,259 163,259      │

23:19:17 #5552 [Debug] > │ 164,260 164,261 165,262 165,263 166,264 166,264 167,265 167,266 168,267      │

23:19:17 #5553 [Debug] > │ 168,268 169,268 169,269 170,265 170,262 171,258 171,255 172,251 172,248      │

23:19:17 #5554 [Debug] > │ 173,245 173,241 174,238 174,235 175,232 175,228 176,225 176,222 177,219      │

23:19:17 #5555 [Debug] > │ 177,216 178,213 178,210 179,207 179,205 180,202 180,199 181,196 181,194      │

23:19:17 #5556 [Debug] > │ 182,191 182,188 183,186 183,183 184,181 184,178 185,176 185,174 186,171      │

23:19:17 #5557 [Debug] > │ 186,169 187,167 187,165 188,163 188,160 189,158 189,156 190,154 190,152      │

23:19:17 #5558 [Debug] > │ 191,150 191,149 192,147 192,145 193,143 193,141 194,140 194,138 195,136      │

23:19:17 #5559 [Debug] > │ 195,135 196,133 196,132 197,130 197,129 198,127 198,126 199,124 199,123      │

23:19:17 #5560 [Debug] > │ 200,121 200,120 201,119 201,118 202,116 202,115 203,114 203,113 204,112      │

23:19:17 #5561 [Debug] > │ 204,111 205,109 205,108 206,107 206,106 207,105 207,104 208,103 208,102      │

23:19:17 #5562 [Debug] > │ 209,101 209,101 210,100 210,99 211,98 211,97 212,96 212,96 213,95 213,94     │

23:19:17 #5563 [Debug] > │ 214,93 214,93 215,92 215,91 216,91 216,90 217,89 217,89 218,88 218,87 219,87 │

23:19:17 #5564 [Debug] > │ 219,86 220,90 220,94 221,97 221,101 222,104 222,108 223,111 223,114 224,118  │

23:19:17 #5565 [Debug] > │ 224,121 225,124 225,127 226,130 226,132 227,135 227,138 228,141 228,143      │

23:19:17 #5566 [Debug] > │ 229,146 229,149 230,151 230,153 231,156 231,158 232,161 232,163 233,165      │

23:19:17 #5567 [Debug] > │ 233,167 234,169 234,171 235,174 235,176 236,178 236,180 237,182 237,183      │

23:19:17 #5568 [Debug] > │ 238,185 238,187 239,189 239,191 240,193 240,194 241,196 241,198 242,199      │

23:19:17 #5569 [Debug] > │ 242,201 243,203 243,204 244,206 244,207 245,209 245,210 246,212 246,213      │

23:19:17 #5570 [Debug] > │ 247,215 247,216 248,217 248,219 249,220 249,221 250,223 250,224 251,225      │

23:19:17 #5571 [Debug] > │ 251,227 252,228 252,229 253,230 253,232 254,233 254,234 255,235 255,236      │

23:19:17 #5572 [Debug] > │ 256,237 256,238 257,239 257,241 258,242 258,243 259,244 259,245 260,246      │

23:19:17 #5573 [Debug] > │ 260,247 261,248 261,249 262,250 262,251 263,252 263,253 264,253 264,254      │

23:19:17 #5574 [Debug] > │ 265,255 265,256 266,257 266,258 267,259 267,260 268,260 268,261 269,262      │

23:19:17 #5575 [Debug] > │ 269,263 270,259 270,256 271,252 271,249 272,246 272,242 273,239 273,236      │

23:19:17 #5576 [Debug] > │ 274,233 274,229 275,226 275,223 276,220 276,217 277,214 277,211 278,208      │

23:19:17 #5577 [Debug] > │ 278,205 279,203 279,200 280,197 280,194 281,192 281,189 282,187 282,184      │

23:19:17 #5578 [Debug] > │ 283,182 283,179 284,177 284,174 285,172 285,170 286,168 286,165 287,163      │

23:19:17 #5579 [Debug] > │ 287,161 288,159 288,157 289,155 289,153 290,151 290,149 291,147 291,145      │

23:19:17 #5580 [Debug] > │ 292,144 292,142 293,140 293,138 294,137 294,135 295,134 295,132 296,130      │

23:19:17 #5581 [Debug] > │ 296,129 297,127 297,126 298,125 298,123 299,122 299,121 300,119 300,118      │

23:19:17 #5582 [Debug] > │ 301,117 301,115 302,114 302,113 303,112 303,111 304,110 304,109 305,108      │

23:19:17 #5583 [Debug] > │ 305,107 306,106 306,105 307,104 307,103 308,102 308,101 309,100 309,99       │

23:19:17 #5584 [Debug] > │ 310,98 310,97 311,97 311,96 312,95 312,94 313,94 313,93 314,92 314,91 315,91 │

23:19:17 #5585 [Debug] > │ 315,90 316,90 316,89 317,88 317,88 318,87 318,87 319,86 319,85 320,89 320,93 │

23:19:17 #5586 [Debug] > │ 320,97 321,100 321,104 322,107 322,110 323,114 323,117 324,120 324,123       │

23:19:17 #5587 [Debug] > │ 325,126 325,129 326,132 326,135 327,137 327,140 328,143 328,145 329,148      │

23:19:17 #5588 [Debug] > │ 329,150 330,153 330,155 331,158 331,160 332,162 332,164 333,167 333,169      │

23:19:17 #5589 [Debug] > │ 334,171 334,173 335,175 335,177 336,179 336,181 337,183 337,185 338,187      │

23:19:17 #5590 [Debug] > │ 338,189 339,190 339,192 340,194 340,196 341,197 341,199 342,201 342,202      │

23:19:17 #5591 [Debug] > │ 343,204 343,205 344,207 344,208 345,210 345,211 346,213 346,214 347,216      │

23:19:17 #5592 [Debug] > │ 347,217 348,218 348,220 349,221 349,222 350,224 350,225 351,226 351,228      │

23:19:17 #5593 [Debug] > │ 352,229 352,230 353,231 353,232 354,234 354,235 355,236 355,237 356,238      │

23:19:17 #5594 [Debug] > │ 356,239 357,240 357,241 358,242 358,243 359,244 359,246 360,247 360,248      │

23:19:17 #5595 [Debug] > │ 361,248 361,249 362,250 362,251 363,252 363,253 364,254 364,255 365,256      │

23:19:17 #5596 [Debug] > │ 365,257 366,258 366,259 367,259 367,260 368,261 368,262 369,263 369,259      │

23:19:17 #5597 [Debug] > │ 370,256 370,252 371,249 371,245 372,242 372,239 373,236 373,232 374,229      │

23:19:17 #5598 [Debug] > │ 374,226 375,223 375,220 376,217 376,214 377,211 377,208 378,205 378,202      │

23:19:17 #5599 [Debug] > │ 379,200 379,197 380,194 380,192 381,189 381,186 382,184 382,181 383,179      │

23:19:17 #5600 [Debug] > │ 383,177 384,174 384,172 385,170 385,167 386,165 386,163 387,161 387,159      │

23:19:17 #5601 [Debug] > │ 388,157 388,155 389,153 389,151 390,149 390,147 391,145 391,144 392,142      │

23:19:17 #5602 [Debug] > │ 392,140 393,138 393,137 394,135 394,133 395,132 395,130 396,129 396,127      │

23:19:17 #5603 [Debug] > │ 397,126 397,125 398,123 398,122 399,120 399,119 400,118 400,117 401,115      │

23:19:17 #5604 [Debug] > │ 401,114 402,113 402,112 403,111 403,110 404,109 404,108 405,107 405,106      │

23:19:17 #5605 [Debug] > │ 406,105 406,104 407,103 407,102 408,101 408,100 409,99 409,98 410,97 410,97  │

23:19:17 #5606 [Debug] > │ 411,96 411,95 412,94 412,94 413,93 413,92 414,91 414,91 415,90 415,89 416,89 │

23:19:17 #5607 [Debug] > │ 416,88 417,88 417,87 418,86 418,86 419,85 419,89 420,93 420,97 421,100       │

23:19:17 #5608 [Debug] > │ 421,104 422,107 422,110 423,114 423,117 424,120 424,123 425,126 425,129      │

23:19:17 #5609 [Debug] > │ 426,132 426,135 427,137 427,140 428,143 428,145 429,148 429,150 430,153      │

23:19:17 #5610 [Debug] > │ 430,155 431,158 431,160 432,162 432,164 433,167 433,169 434,171 434,173      │

23:19:17 #5611 [Debug] > │ 435,175 435,177 436,179 436,181 437,183 437,185 438,187 438,189 439,190      │

23:19:17 #5612 [Debug] > │ 439,192 440,194 440,196 441,197 441,199 442,201 442,202 443,204 443,205      │

23:19:17 #5613 [Debug] > │ 444,207 444,208 445,210 445,211 446,213 446,214 447,216 447,217 448,218      │

23:19:17 #5614 [Debug] > │ 448,220 449,221 449,222 450,224 450,225 451,226 451,228 452,229 452,230      │

23:19:17 #5615 [Debug] > │ 453,231 453,232 454,234 454,235 455,236 455,237 456,238 456,239 457,240      │

23:19:17 #5616 [Debug] > │ 457,241 458,242 458,243 459,244 459,245 460,247 460,248 461,248 461,249      │

23:19:17 #5617 [Debug] > │ 462,250 462,251 463,252 463,253 464,254 464,255 465,256 465,257 466,258      │

23:19:17 #5618 [Debug] > │ 466,259 467,259 467,260 468,261 468,262 469,263 469,264 470,260 470,257      │

23:19:17 #5619 [Debug] > │ 471,253 471,250 472,246 472,243 473,240 473,236 474,233 474,230 475,227      │

23:19:17 #5620 [Debug] > │ 475,224 476,221 476,218 477,215 477,212 478,209 478,206 479,203 479,200      │

23:19:17 #5621 [Debug] > │ 480,198 480,195 481,192 481,190 482,187 482,185 483,182 483,180 484,177      │

23:19:17 #5622 [Debug] > │ 484,175 485,173 485,170 486,168 486,166 487,164 487,161 488,159 488,157      │

23:19:17 #5623 [Debug] > │ 489,155 489,153 490,151 490,149 491,148 491,146 492,144 492,142 493,140      │

23:19:17 #5624 [Debug] > │ 493,139 494,137 494,135 495,134 495,132 496,131 496,129 497,128 497,126      │

23:19:17 #5625 [Debug] > │ 498,125 498,123 499,122 499,121 500,119 500,118 501,117 501,116 502,114      │

23:19:17 #5626 [Debug] > │ 502,113 503,112 503,111 504,110 504,109 505,108 505,107 506,106 506,105      │

23:19:17 #5627 [Debug] > │ 507,104 507,103 508,102 508,101 509,100 509,99 510,98 510,98 511,97 511,96   │

23:19:17 #5628 [Debug] > │ 512,95 512,94 513,94 513,93 514,92 514,92 515,91 515,90 516,90 516,89 517,88 │

23:19:17 #5629 [Debug] > │ 517,88 518,87 518,87 519,86 519,85 520,89 520,93 521,97 521,100 522,104      │

23:19:17 #5630 [Debug] > │ 522,107 523,110 523,114 524,117 524,120 525,123 525,126 526,129 526,132      │

23:19:17 #5631 [Debug] > │ 527,135 527,137 528,140 528,143 529,145 529,148 530,150 530,153 531,155      │

23:19:17 #5632 [Debug] > │ 531,158 532,160 532,162 533,165 533,167 534,169 534,171 535,173 535,175      │

23:19:17 #5633 [Debug] > │ 536,177 536,179 537,181 537,183 538,185 538,187 539,189 539,190 540,192      │

23:19:17 #5634 [Debug] > │ 540,194 541,196 541,197 542,199 542,201 543,202 543,204 544,205 544,207      │

23:19:17 #5635 [Debug] > │ 545,208 545,210 546,211 546,213 547,214 547,216 548,217 548,219 549,220      │

23:19:17 #5636 [Debug] > │ 549,221 550,223 550,224 551,225 551,226 552,228 552,229 553,230 553,231      │

23:19:17 #5637 [Debug] > │ 554,232 554,234 555,235 555,236 556,237 556,238 557,239 557,240 558,241      │

23:19:17 #5638 [Debug] > │ 558,242 559,243 559,245 560,246 560,247 561,248 561,249 562,249 562,250      │

23:19:17 #5639 [Debug] > │ 563,251 563,252 564,253 564,254 565,255 565,256 566,257 566,258 567,259      │

23:19:17 #5640 [Debug] > │ 567,259 568,260 568,261 569,262 "/>                                          │

23:19:17 #5641 [Debug] > │ <rect x="410" y="235" width="170" height="30" opacity="1" fill="none"        │

23:19:17 #5642 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:17 #5643 [Debug] > │ <text x="450" y="245" dy="0.76em" text-anchor="start"                        │

23:19:17 #5644 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:17 #5645 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:17 #5646 [Debug] > │ velocity of bike (m/s)                                                       │

23:19:17 #5647 [Debug] > │ </text>                                                                      │

23:19:17 #5648 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:17 #5649 [Debug] > │ points="420,250 440,250 "/>                                                  │

23:19:17 #5650 [Debug] > │ </svg>                                                                       │

23:19:17 #5651 [Debug] > │                                                                              │

23:19:17 #5652 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:17 #5653 [Debug] >

23:19:17 #5654 [Debug] > ╭─[ 654.60ms - stdout ]────────────────────────────────────────────────────────╮

23:19:17 #5655 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:17 #5656 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:17 #5657 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:17 #5658 [Debug] > │     let v2 : bool = v1 < 1001                                                │

23:19:17 #5659 [Debug] > │     v2                                                                       │

23:19:17 #5660 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:17 #5661 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:17 #5662 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:17 #5663 [Debug] > │     v3                                                                       │

23:19:17 #5664 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : float) : struct (float * float) =  │

23:19:17 #5665 [Debug] > │     let v3 : bool = v2 <= 0.0                                                │

23:19:17 #5666 [Debug] > │     if v3 then                                                               │

23:19:17 #5667 [Debug] > │         struct (v0, v1)                                                      │

23:19:17 #5668 [Debug] > │     else                                                                     │

23:19:17 #5669 [Debug] > │         let v4 : float =  -v1                                                │

23:19:17 #5670 [Debug] > │         let v5 : bool = v1 >= v4                                             │

23:19:17 #5671 [Debug] > │         let v6 : float =                                                     │

23:19:17 #5672 [Debug] > │             if v5 then                                                       │

23:19:17 #5673 [Debug] > │                 v1                                                           │

23:19:17 #5674 [Debug] > │             else                                                             │

23:19:17 #5675 [Debug] > │                 v4                                                           │

23:19:17 #5676 [Debug] > │         let v7 : float = -1.225 * v6                                         │

23:19:17 #5677 [Debug] > │         let v8 : float = v7 * v1                                             │

23:19:17 #5678 [Debug] > │         let v9 : float = v8 / 2.0                                            │

23:19:17 #5679 [Debug] > │         let v10 : float = v0 / 20.0                                          │

23:19:17 #5680 [Debug] > │         let v11 : int32 = int32 v10                                          │

23:19:17 #5681 [Debug] > │         let v12 : float = float v11                                          │

23:19:17 #5682 [Debug] > │         let v13 : float = v12 * 20.0                                         │

23:19:17 #5683 [Debug] > │         let v14 : float = v0 - v13                                           │

23:19:17 #5684 [Debug] > │         let v15 : bool = v14 > 0.0                                           │

23:19:17 #5685 [Debug] > │         let v17 : bool =                                                     │

23:19:17 #5686 [Debug] > │             if v15 then                                                      │

23:19:17 #5687 [Debug] > │                 let v16 : bool = v14 < 10.0                                  │

23:19:17 #5688 [Debug] > │                 v16                                                          │

23:19:17 #5689 [Debug] > │             else                                                             │

23:19:17 #5690 [Debug] > │                 false                                                        │

23:19:17 #5691 [Debug] > │         let v18 : float =                                                    │

23:19:17 #5692 [Debug] > │             if v17 then                                                      │

23:19:17 #5693 [Debug] > │                 10.0                                                         │

23:19:17 #5694 [Debug] > │             else                                                             │

23:19:17 #5695 [Debug] > │                 0.0                                                          │

23:19:17 #5696 [Debug] > │         let v19 : float = v18 + v9                                           │

23:19:17 #5697 [Debug] > │         let v20 : float = v19 / 20.0                                         │

23:19:17 #5698 [Debug] > │         let v21 : float = v0 + 0.1                                           │

23:19:17 #5699 [Debug] > │         let v22 : float = v20 * 0.1                                          │

23:19:17 #5700 [Debug] > │         let v23 : float = v1 + v22                                           │

23:19:17 #5701 [Debug] > │         let v24 : float = v2 - 1.0                                           │

23:19:17 #5702 [Debug] > │         method3(v21, v23, v24)                                               │

23:19:17 #5703 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:17 #5704 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:17 #5705 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (1001)                     │

23:19:17 #5706 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:17 #5707 [Debug] > │     while method1(v1) do                                                     │

23:19:17 #5708 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:17 #5709 [Debug] > │         let v4 : float = float v3                                            │

23:19:17 #5710 [Debug] > │         let v5 : float = 0.1 * v4                                            │

23:19:17 #5711 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:17 #5712 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:17 #5713 [Debug] > │         v1.l0 <- v6                                                          │

23:19:17 #5714 [Debug] > │         ()                                                                   │

23:19:17 #5715 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:17 #5716 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:17 #5717 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:17 #5718 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:17 #5719 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:17 #5720 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:17 #5721 [Debug] > │         let v13 : float = v12 / 0.1                                          │

23:19:17 #5722 [Debug] > │         let v14 : float = round v13                                          │

23:19:17 #5723 [Debug] > │         let v15 : float =  -v14                                              │

23:19:17 #5724 [Debug] > │         let v16 : bool = v14 >= v15                                          │

23:19:17 #5725 [Debug] > │         let v17 : float =                                                    │

23:19:17 #5726 [Debug] > │             if v16 then                                                      │

23:19:17 #5727 [Debug] > │                 v14                                                          │

23:19:17 #5728 [Debug] > │             else                                                             │

23:19:17 #5729 [Debug] > │                 v15                                                          │

23:19:17 #5730 [Debug] > │         let v18 : float = 0.0                                                │

23:19:17 #5731 [Debug] > │         let v19 : float = 0.0                                                │

23:19:17 #5732 [Debug] > │         let struct (v20 : float, v21 : float) = method3(v18, v19, v17)       │

23:19:17 #5733 [Debug] > │         v8.[int v11] <- v21                                                  │

23:19:17 #5734 [Debug] > │         let v22 : int32 = v11 + 1                                            │

23:19:17 #5735 [Debug] > │         v9.l0 <- v22                                                         │

23:19:17 #5736 [Debug] > │         ()                                                                   │

23:19:17 #5737 [Debug] > │     let v23 : string = "velocity of bike (m/s)"                              │

23:19:17 #5738 [Debug] > │     let v24 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:17 #5739 [Debug] > │ (v23, v0, v8)|]                                                              │

23:19:17 #5740 [Debug] > │     let v25 : string = "pedaling and coasting with air"                      │

23:19:17 #5741 [Debug] > │     let v26 : string = "time (s)"                                            │

23:19:17 #5742 [Debug] > │     let v27 : string = ""                                                    │

23:19:17 #5743 [Debug] > │     struct (v25, v26, v27, v24)                                              │

23:19:17 #5744 [Debug] > │ method0()                                                                    │

23:19:17 #5745 [Debug] > │                                                                              │

23:19:17 #5746 [Debug] > │                                                                              │

23:19:17 #5747 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:17 #5748 [Debug] >

23:19:17 #5749 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:17 #5750 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:17 #5751 [Debug] > │ ## velocity_ftxv                                                             │

23:19:17 #5752 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:17 #5753 [Debug] >

23:19:17 #5754 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:17 #5755 [Debug] > nominal state_1d = time * position * velocity

23:19:17 #5756 [Debug] > nominal rrr = f64 * f64 * f64

23:19:17 #5757 [Debug] >

23:19:17 #5758 [Debug] > inl newton_second_1d m fs (state_1d (t, x0, v0)) =

23:19:17 #5759 [Debug] >     inl f_net = fs |> listm.map (fun f => f (state_1d (t, x0, v0))) |>

23:19:17 #5760 [Debug] > listm'.sum

23:19:17 #5761 [Debug] >     inl acc = f_net / m

23:19:17 #5762 [Debug] >     rrr (1f64, v0, acc)

23:19:17 #5763 [Debug] >

23:19:17 #5764 [Debug] > inl euler_1d dt deriv (state_1d (t0, x0, v0) as t) =

23:19:17 #5765 [Debug] >     inl (rrr (_, _, dvdt)) = deriv t

23:19:17 #5766 [Debug] >     inl t1 = t0 + dt

23:19:17 #5767 [Debug] >     inl x1 = x0 + v0 * dt

23:19:17 #5768 [Debug] >     inl v1 = v0 + dvdt * dt

23:19:17 #5769 [Debug] >     state_1d (t1, x1, v1)

23:19:17 #5770 [Debug] >

23:19:17 #5771 [Debug] > inl update_txv dt m fs =

23:19:17 #5772 [Debug] >     newton_second_1d m fs |> euler_1d dt

23:19:17 #5773 [Debug] >

23:19:17 #5774 [Debug] > inl states_txv dt m txv0 fs =

23:19:17 #5775 [Debug] >     seq.iterate_ (update_txv dt m fs) txv0

23:19:17 #5776 [Debug] >

23:19:17 #5777 [Debug] > inl velocity_1d sts t =

23:19:17 #5778 [Debug] >     inl (state_1d (t0, _, _)) = sts 0

23:19:17 #5779 [Debug] >     inl (state_1d (t1, _, _)) = sts 1

23:19:17 #5780 [Debug] >     inl dt = t1 - t0

23:19:17 #5781 [Debug] >     inl num_steps = t / dt |> math.round |> abs

23:19:17 #5782 [Debug] >     inl (state_1d (_, _, v0)) = sts num_steps

23:19:17 #5783 [Debug] >     v0

23:19:17 #5784 [Debug] >

23:19:17 #5785 [Debug] > inl velocity_ftxv dt m txv0 fs =

23:19:17 #5786 [Debug] >     states_txv dt m txv0 fs |> velocity_1d

23:19:17 #5787 [Debug] >

23:19:17 #5788 [Debug] > inl position_1d sts t =

23:19:17 #5789 [Debug] >     inl (state_1d (t0, _, _)) = sts 0

23:19:17 #5790 [Debug] >     inl (state_1d (t1, _, _)) = sts 1

23:19:17 #5791 [Debug] >     inl dt = t1 - t0

23:19:17 #5792 [Debug] >     inl num_steps = t / dt |> math.round |> abs

23:19:17 #5793 [Debug] >     inl (state_1d (_, x0, _)) = sts num_steps

23:19:17 #5794 [Debug] >     x0

23:19:17 #5795 [Debug] >

23:19:17 #5796 [Debug] > inl position_ftxv dt m txv0 fs =

23:19:17 #5797 [Debug] >     states_txv dt m txv0 fs |> position_1d

23:19:17 #5798 [Debug] >

23:19:17 #5799 [Debug] > inl spring_force k (state_1d (_, x0, _)) =

23:19:17 #5800 [Debug] >     -k * x0

23:19:17 #5801 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1764-6461-6c45b087e10f\main.spi

23:19:17 #5802 [Debug] >

23:19:17 #5803 [Debug] > ╭─[ 155.11ms - stdout ]────────────────────────────────────────────────────────╮

23:19:17 #5804 [Debug] > │ ()                                                                           │

23:19:17 #5805 [Debug] > │                                                                              │

23:19:17 #5806 [Debug] > │                                                                              │

23:19:17 #5807 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:17 #5808 [Debug] >

23:19:17 #5809 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:17 #5810 [Debug] > // // test

23:19:17 #5811 [Debug] >

23:19:17 #5812 [Debug] > inl damped_ho_forces () =

23:19:17 #5813 [Debug] >     [[

23:19:17 #5814 [Debug] >         spring_force 0.8

23:19:17 #5815 [Debug] >         fun (state_1d (_, _, v0)) => f_air 2 1.225 (pi * math.square 0.02) v0

23:19:17 #5816 [Debug] >         fun _ => -0.0027 * 9.80665

23:19:17 #5817 [Debug] >     ]]

23:19:17 #5818 [Debug] >

23:19:17 #5819 [Debug] > inl damped_ho_states () =

23:19:17 #5820 [Debug] >     states_txv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ())

23:19:17 #5821 [Debug] >

23:19:17 #5822 [Debug] > inl pingpong_position t =

23:19:17 #5823 [Debug] >     position_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t

23:19:17 #5824 [Debug] >

23:19:17 #5825 [Debug] > inl x : a _ f64 = am'.init_series 0 3 0.01

23:19:17 #5826 [Debug] > inl y = x |> am.map pingpong_position

23:19:17 #5827 [Debug] > "ping pong ball on a slinky", "time (s)", "", ;[[ "position (m)", x, y ]]

23:19:17 #5828 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1779-7969-7261b20fc49a\main.spi

23:19:18 #5829 [Debug] >

23:19:18 #5830 [Debug] > ╭─[ 247.51ms - return value ]──────────────────────────────────────────────────╮

23:19:18 #5831 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:18 #5832 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:18 #5833 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:18 #5834 [Debug] > │ stroke="none"/>                                                              │

23:19:18 #5835 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:18 #5836 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #5837 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #5838 [Debug] > │ ping pong ball on a slinky                                                   │

23:19:18 #5839 [Debug] > │ </text>                                                                      │

23:19:18 #5840 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │

23:19:18 #5841 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #5842 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:18 #5843 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #5844 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │

23:19:18 #5845 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #5846 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │

23:19:18 #5847 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #5848 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │

23:19:18 #5849 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #5850 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424"        │

23:19:18 #5851 [Debug] > │ x2="103" y2="75"/>                                                           │

23:19:18 #5852 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424"        │

23:19:18 #5853 [Debug] > │ x2="111" y2="75"/>                                                           │

23:19:18 #5854 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:18 #5855 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:18 #5856 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424"        │

23:19:18 #5857 [Debug] > │ x2="128" y2="75"/>                                                           │

23:19:18 #5858 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424"        │

23:19:18 #5859 [Debug] > │ x2="136" y2="75"/>                                                           │

23:19:18 #5860 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424"        │

23:19:18 #5861 [Debug] > │ x2="144" y2="75"/>                                                           │

23:19:18 #5862 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424"        │

23:19:18 #5863 [Debug] > │ x2="153" y2="75"/>                                                           │

23:19:18 #5864 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424"        │

23:19:18 #5865 [Debug] > │ x2="161" y2="75"/>                                                           │

23:19:18 #5866 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:18 #5867 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:18 #5868 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424"        │

23:19:18 #5869 [Debug] > │ x2="178" y2="75"/>                                                           │

23:19:18 #5870 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424"        │

23:19:18 #5871 [Debug] > │ x2="186" y2="75"/>                                                           │

23:19:18 #5872 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424"        │

23:19:18 #5873 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:18 #5874 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424"        │

23:19:18 #5875 [Debug] > │ x2="203" y2="75"/>                                                           │

23:19:18 #5876 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424"        │

23:19:18 #5877 [Debug] > │ x2="211" y2="75"/>                                                           │

23:19:18 #5878 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:18 #5879 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:18 #5880 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424"        │

23:19:18 #5881 [Debug] > │ x2="228" y2="75"/>                                                           │

23:19:18 #5882 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424"        │

23:19:18 #5883 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:18 #5884 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424"        │

23:19:18 #5885 [Debug] > │ x2="244" y2="75"/>                                                           │

23:19:18 #5886 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424"        │

23:19:18 #5887 [Debug] > │ x2="252" y2="75"/>                                                           │

23:19:18 #5888 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424"        │

23:19:18 #5889 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:18 #5890 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:18 #5891 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:18 #5892 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424"        │

23:19:18 #5893 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:18 #5894 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424"        │

23:19:18 #5895 [Debug] > │ x2="286" y2="75"/>                                                           │

23:19:18 #5896 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424"        │

23:19:18 #5897 [Debug] > │ x2="294" y2="75"/>                                                           │

23:19:18 #5898 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424"        │

23:19:18 #5899 [Debug] > │ x2="302" y2="75"/>                                                           │

23:19:18 #5900 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424"        │

23:19:18 #5901 [Debug] > │ x2="311" y2="75"/>                                                           │

23:19:18 #5902 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:18 #5903 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:18 #5904 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424"        │

23:19:18 #5905 [Debug] > │ x2="327" y2="75"/>                                                           │

23:19:18 #5906 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424"        │

23:19:18 #5907 [Debug] > │ x2="336" y2="75"/>                                                           │

23:19:18 #5908 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424"        │

23:19:18 #5909 [Debug] > │ x2="344" y2="75"/>                                                           │

23:19:18 #5910 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424"        │

23:19:18 #5911 [Debug] > │ x2="352" y2="75"/>                                                           │

23:19:18 #5912 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424"        │

23:19:18 #5913 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:18 #5914 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:18 #5915 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:18 #5916 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424"        │

23:19:18 #5917 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:18 #5918 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424"        │

23:19:18 #5919 [Debug] > │ x2="386" y2="75"/>                                                           │

23:19:18 #5920 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424"        │

23:19:18 #5921 [Debug] > │ x2="394" y2="75"/>                                                           │

23:19:18 #5922 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424"        │

23:19:18 #5923 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:18 #5924 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424"        │

23:19:18 #5925 [Debug] > │ x2="410" y2="75"/>                                                           │

23:19:18 #5926 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:18 #5927 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:18 #5928 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424"        │

23:19:18 #5929 [Debug] > │ x2="427" y2="75"/>                                                           │

23:19:18 #5930 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424"        │

23:19:18 #5931 [Debug] > │ x2="435" y2="75"/>                                                           │

23:19:18 #5932 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424"        │

23:19:18 #5933 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:18 #5934 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424"        │

23:19:18 #5935 [Debug] > │ x2="452" y2="75"/>                                                           │

23:19:18 #5936 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424"        │

23:19:18 #5937 [Debug] > │ x2="460" y2="75"/>                                                           │

23:19:18 #5938 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:18 #5939 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:18 #5940 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424"        │

23:19:18 #5941 [Debug] > │ x2="477" y2="75"/>                                                           │

23:19:18 #5942 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424"        │

23:19:18 #5943 [Debug] > │ x2="485" y2="75"/>                                                           │

23:19:18 #5944 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424"        │

23:19:18 #5945 [Debug] > │ x2="494" y2="75"/>                                                           │

23:19:18 #5946 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424"        │

23:19:18 #5947 [Debug] > │ x2="502" y2="75"/>                                                           │

23:19:18 #5948 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424"        │

23:19:18 #5949 [Debug] > │ x2="510" y2="75"/>                                                           │

23:19:18 #5950 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:18 #5951 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:18 #5952 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424"        │

23:19:18 #5953 [Debug] > │ x2="527" y2="75"/>                                                           │

23:19:18 #5954 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424"        │

23:19:18 #5955 [Debug] > │ x2="535" y2="75"/>                                                           │

23:19:18 #5956 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424"        │

23:19:18 #5957 [Debug] > │ x2="544" y2="75"/>                                                           │

23:19:18 #5958 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424"        │

23:19:18 #5959 [Debug] > │ x2="552" y2="75"/>                                                           │

23:19:18 #5960 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424"        │

23:19:18 #5961 [Debug] > │ x2="560" y2="75"/>                                                           │

23:19:18 #5962 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:18 #5963 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:18 #5964 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424"        │

23:19:18 #5965 [Debug] > │ x2="577" y2="75"/>                                                           │

23:19:18 #5966 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="419"         │

23:19:18 #5967 [Debug] > │ x2="584" y2="419"/>                                                          │

23:19:18 #5968 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="406"         │

23:19:18 #5969 [Debug] > │ x2="584" y2="406"/>                                                          │

23:19:18 #5970 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="393"         │

23:19:18 #5971 [Debug] > │ x2="584" y2="393"/>                                                          │

23:19:18 #5972 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380"         │

23:19:18 #5973 [Debug] > │ x2="584" y2="380"/>                                                          │

23:19:18 #5974 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="367"         │

23:19:18 #5975 [Debug] > │ x2="584" y2="367"/>                                                          │

23:19:18 #5976 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="354"         │

23:19:18 #5977 [Debug] > │ x2="584" y2="354"/>                                                          │

23:19:18 #5978 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="342"         │

23:19:18 #5979 [Debug] > │ x2="584" y2="342"/>                                                          │

23:19:18 #5980 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="329"         │

23:19:18 #5981 [Debug] > │ x2="584" y2="329"/>                                                          │

23:19:18 #5982 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316"         │

23:19:18 #5983 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:18 #5984 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="303"         │

23:19:18 #5985 [Debug] > │ x2="584" y2="303"/>                                                          │

23:19:18 #5986 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="290"         │

23:19:18 #5987 [Debug] > │ x2="584" y2="290"/>                                                          │

23:19:18 #5988 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="278"         │

23:19:18 #5989 [Debug] > │ x2="584" y2="278"/>                                                          │

23:19:18 #5990 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="265"         │

23:19:18 #5991 [Debug] > │ x2="584" y2="265"/>                                                          │

23:19:18 #5992 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="252"         │

23:19:18 #5993 [Debug] > │ x2="584" y2="252"/>                                                          │

23:19:18 #5994 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="239"         │

23:19:18 #5995 [Debug] > │ x2="584" y2="239"/>                                                          │

23:19:18 #5996 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="226"         │

23:19:18 #5997 [Debug] > │ x2="584" y2="226"/>                                                          │

23:19:18 #5998 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="214"         │

23:19:18 #5999 [Debug] > │ x2="584" y2="214"/>                                                          │

23:19:18 #6000 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:18 #6001 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:18 #6002 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="188"         │

23:19:18 #6003 [Debug] > │ x2="584" y2="188"/>                                                          │

23:19:18 #6004 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="175"         │

23:19:18 #6005 [Debug] > │ x2="584" y2="175"/>                                                          │

23:19:18 #6006 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="162"         │

23:19:18 #6007 [Debug] > │ x2="584" y2="162"/>                                                          │

23:19:18 #6008 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="149"         │

23:19:18 #6009 [Debug] > │ x2="584" y2="149"/>                                                          │

23:19:18 #6010 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137"         │

23:19:18 #6011 [Debug] > │ x2="584" y2="137"/>                                                          │

23:19:18 #6012 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="124"         │

23:19:18 #6013 [Debug] > │ x2="584" y2="124"/>                                                          │

23:19:18 #6014 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="111"         │

23:19:18 #6015 [Debug] > │ x2="584" y2="111"/>                                                          │

23:19:18 #6016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="98" x2="584" │

23:19:18 #6017 [Debug] > │ y2="98"/>                                                                    │

23:19:18 #6018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:18 #6019 [Debug] > │ y2="85"/>                                                                    │

23:19:18 #6020 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:18 #6021 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6022 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6023 [Debug] > │ time (s)                                                                     │

23:19:18 #6024 [Debug] > │ </text>                                                                      │

23:19:18 #6025 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:18 #6026 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6027 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:18 #6028 [Debug] > │                                                                              │

23:19:18 #6029 [Debug] > │ </text>                                                                      │

23:19:18 #6030 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:18 #6031 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6032 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6033 [Debug] > │ time (s)                                                                     │

23:19:18 #6034 [Debug] > │ </text>                                                                      │

23:19:18 #6035 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6036 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6037 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:18 #6038 [Debug] > │                                                                              │

23:19:18 #6039 [Debug] > │ </text>                                                                      │

23:19:18 #6040 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:18 #6041 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #6042 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="103" y1="424"        │

23:19:18 #6043 [Debug] > │ x2="103" y2="75"/>                                                           │

23:19:18 #6044 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="136" y1="424"        │

23:19:18 #6045 [Debug] > │ x2="136" y2="75"/>                                                           │

23:19:18 #6046 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:18 #6047 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:18 #6048 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="203" y1="424"        │

23:19:18 #6049 [Debug] > │ x2="203" y2="75"/>                                                           │

23:19:18 #6050 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424"        │

23:19:18 #6051 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:18 #6052 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:18 #6053 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:18 #6054 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="302" y1="424"        │

23:19:18 #6055 [Debug] > │ x2="302" y2="75"/>                                                           │

23:19:18 #6056 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="336" y1="424"        │

23:19:18 #6057 [Debug] > │ x2="336" y2="75"/>                                                           │

23:19:18 #6058 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:18 #6059 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:18 #6060 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424"        │

23:19:18 #6061 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:18 #6062 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="435" y1="424"        │

23:19:18 #6063 [Debug] > │ x2="435" y2="75"/>                                                           │

23:19:18 #6064 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:18 #6065 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:18 #6066 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="502" y1="424"        │

23:19:18 #6067 [Debug] > │ x2="502" y2="75"/>                                                           │

23:19:18 #6068 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="535" y1="424"        │

23:19:18 #6069 [Debug] > │ x2="535" y2="75"/>                                                           │

23:19:18 #6070 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="406"         │

23:19:18 #6071 [Debug] > │ x2="584" y2="406"/>                                                          │

23:19:18 #6072 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="342"         │

23:19:18 #6073 [Debug] > │ x2="584" y2="342"/>                                                          │

23:19:18 #6074 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="278"         │

23:19:18 #6075 [Debug] > │ x2="584" y2="278"/>                                                          │

23:19:18 #6076 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="214"         │

23:19:18 #6077 [Debug] > │ x2="584" y2="214"/>                                                          │

23:19:18 #6078 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="149"         │

23:19:18 #6079 [Debug] > │ x2="584" y2="149"/>                                                          │

23:19:18 #6080 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:18 #6081 [Debug] > │ y2="85"/>                                                                    │

23:19:18 #6082 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6083 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:18 #6084 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:18 #6085 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6086 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6087 [Debug] > │ 0.0                                                                          │

23:19:18 #6088 [Debug] > │ </text>                                                                      │

23:19:18 #6089 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6090 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:18 #6091 [Debug] > │ <text x="103" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6092 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6093 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6094 [Debug] > │ 0.2                                                                          │

23:19:18 #6095 [Debug] > │ </text>                                                                      │

23:19:18 #6096 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6097 [Debug] > │ points="103,69 103,74 "/>                                                    │

23:19:18 #6098 [Debug] > │ <text x="136" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6099 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6100 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6101 [Debug] > │ 0.4                                                                          │

23:19:18 #6102 [Debug] > │ </text>                                                                      │

23:19:18 #6103 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6104 [Debug] > │ points="136,69 136,74 "/>                                                    │

23:19:18 #6105 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6106 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6107 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6108 [Debug] > │ 0.6                                                                          │

23:19:18 #6109 [Debug] > │ </text>                                                                      │

23:19:18 #6110 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6111 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:18 #6112 [Debug] > │ <text x="203" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6113 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6114 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6115 [Debug] > │ 0.8                                                                          │

23:19:18 #6116 [Debug] > │ </text>                                                                      │

23:19:18 #6117 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6118 [Debug] > │ points="203,69 203,74 "/>                                                    │

23:19:18 #6119 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6120 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6121 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6122 [Debug] > │ 1.0                                                                          │

23:19:18 #6123 [Debug] > │ </text>                                                                      │

23:19:18 #6124 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6125 [Debug] > │ points="236,69 236,74 "/>                                                    │

23:19:18 #6126 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6127 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6128 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6129 [Debug] > │ 1.2                                                                          │

23:19:18 #6130 [Debug] > │ </text>                                                                      │

23:19:18 #6131 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6132 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:18 #6133 [Debug] > │ <text x="302" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6134 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6135 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6136 [Debug] > │ 1.4                                                                          │

23:19:18 #6137 [Debug] > │ </text>                                                                      │

23:19:18 #6138 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6139 [Debug] > │ points="302,69 302,74 "/>                                                    │

23:19:18 #6140 [Debug] > │ <text x="336" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6141 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6142 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6143 [Debug] > │ 1.6                                                                          │

23:19:18 #6144 [Debug] > │ </text>                                                                      │

23:19:18 #6145 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6146 [Debug] > │ points="336,69 336,74 "/>                                                    │

23:19:18 #6147 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6148 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6149 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6150 [Debug] > │ 1.8                                                                          │

23:19:18 #6151 [Debug] > │ </text>                                                                      │

23:19:18 #6152 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6153 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:18 #6154 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6155 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6156 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6157 [Debug] > │ 2.0                                                                          │

23:19:18 #6158 [Debug] > │ </text>                                                                      │

23:19:18 #6159 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6160 [Debug] > │ points="402,69 402,74 "/>                                                    │

23:19:18 #6161 [Debug] > │ <text x="435" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6162 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6163 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6164 [Debug] > │ 2.2                                                                          │

23:19:18 #6165 [Debug] > │ </text>                                                                      │

23:19:18 #6166 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6167 [Debug] > │ points="435,69 435,74 "/>                                                    │

23:19:18 #6168 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6169 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6170 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6171 [Debug] > │ 2.4                                                                          │

23:19:18 #6172 [Debug] > │ </text>                                                                      │

23:19:18 #6173 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6174 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:18 #6175 [Debug] > │ <text x="502" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6176 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6177 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6178 [Debug] > │ 2.6                                                                          │

23:19:18 #6179 [Debug] > │ </text>                                                                      │

23:19:18 #6180 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6181 [Debug] > │ points="502,69 502,74 "/>                                                    │

23:19:18 #6182 [Debug] > │ <text x="535" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6183 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6184 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6185 [Debug] > │ 2.8                                                                          │

23:19:18 #6186 [Debug] > │ </text>                                                                      │

23:19:18 #6187 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6188 [Debug] > │ points="535,69 535,74 "/>                                                    │

23:19:18 #6189 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6190 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:18 #6191 [Debug] > │ <text x="45" y="406" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6192 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6193 [Debug] > │ -0.2                                                                         │

23:19:18 #6194 [Debug] > │ </text>                                                                      │

23:19:18 #6195 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6196 [Debug] > │ points="49,406 54,406 "/>                                                    │

23:19:18 #6197 [Debug] > │ <text x="45" y="342" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6198 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6199 [Debug] > │ -0.1                                                                         │

23:19:18 #6200 [Debug] > │ </text>                                                                      │

23:19:18 #6201 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6202 [Debug] > │ points="49,342 54,342 "/>                                                    │

23:19:18 #6203 [Debug] > │ <text x="45" y="278" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6204 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6205 [Debug] > │ -0.1                                                                         │

23:19:18 #6206 [Debug] > │ </text>                                                                      │

23:19:18 #6207 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6208 [Debug] > │ points="49,278 54,278 "/>                                                    │

23:19:18 #6209 [Debug] > │ <text x="45" y="214" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6210 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6211 [Debug] > │ -0.0                                                                         │

23:19:18 #6212 [Debug] > │ </text>                                                                      │

23:19:18 #6213 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6214 [Debug] > │ points="49,214 54,214 "/>                                                    │

23:19:18 #6215 [Debug] > │ <text x="45" y="149" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6216 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6217 [Debug] > │ 0.0                                                                          │

23:19:18 #6218 [Debug] > │ </text>                                                                      │

23:19:18 #6219 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6220 [Debug] > │ points="49,149 54,149 "/>                                                    │

23:19:18 #6221 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:18 #6222 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6223 [Debug] > │ 0.1                                                                          │

23:19:18 #6224 [Debug] > │ </text>                                                                      │

23:19:18 #6225 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6226 [Debug] > │ points="49,85 54,85 "/>                                                      │

23:19:18 #6227 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6228 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:18 #6229 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:18 #6230 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6231 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6232 [Debug] > │ 0.0                                                                          │

23:19:18 #6233 [Debug] > │ </text>                                                                      │

23:19:18 #6234 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6235 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:18 #6236 [Debug] > │ <text x="103" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6237 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6238 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6239 [Debug] > │ 0.2                                                                          │

23:19:18 #6240 [Debug] > │ </text>                                                                      │

23:19:18 #6241 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6242 [Debug] > │ points="103,425 103,430 "/>                                                  │

23:19:18 #6243 [Debug] > │ <text x="136" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6244 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6245 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6246 [Debug] > │ 0.4                                                                          │

23:19:18 #6247 [Debug] > │ </text>                                                                      │

23:19:18 #6248 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6249 [Debug] > │ points="136,425 136,430 "/>                                                  │

23:19:18 #6250 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6251 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6252 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6253 [Debug] > │ 0.6                                                                          │

23:19:18 #6254 [Debug] > │ </text>                                                                      │

23:19:18 #6255 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6256 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:18 #6257 [Debug] > │ <text x="203" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6258 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6259 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6260 [Debug] > │ 0.8                                                                          │

23:19:18 #6261 [Debug] > │ </text>                                                                      │

23:19:18 #6262 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6263 [Debug] > │ points="203,425 203,430 "/>                                                  │

23:19:18 #6264 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6265 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6266 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6267 [Debug] > │ 1.0                                                                          │

23:19:18 #6268 [Debug] > │ </text>                                                                      │

23:19:18 #6269 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6270 [Debug] > │ points="236,425 236,430 "/>                                                  │

23:19:18 #6271 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6272 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6273 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6274 [Debug] > │ 1.2                                                                          │

23:19:18 #6275 [Debug] > │ </text>                                                                      │

23:19:18 #6276 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6277 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:18 #6278 [Debug] > │ <text x="302" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6279 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6280 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6281 [Debug] > │ 1.4                                                                          │

23:19:18 #6282 [Debug] > │ </text>                                                                      │

23:19:18 #6283 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6284 [Debug] > │ points="302,425 302,430 "/>                                                  │

23:19:18 #6285 [Debug] > │ <text x="336" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6286 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6287 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6288 [Debug] > │ 1.6                                                                          │

23:19:18 #6289 [Debug] > │ </text>                                                                      │

23:19:18 #6290 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6291 [Debug] > │ points="336,425 336,430 "/>                                                  │

23:19:18 #6292 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6293 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6294 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6295 [Debug] > │ 1.8                                                                          │

23:19:18 #6296 [Debug] > │ </text>                                                                      │

23:19:18 #6297 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6298 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:18 #6299 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6300 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6301 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6302 [Debug] > │ 2.0                                                                          │

23:19:18 #6303 [Debug] > │ </text>                                                                      │

23:19:18 #6304 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6305 [Debug] > │ points="402,425 402,430 "/>                                                  │

23:19:18 #6306 [Debug] > │ <text x="435" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6307 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6308 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6309 [Debug] > │ 2.2                                                                          │

23:19:18 #6310 [Debug] > │ </text>                                                                      │

23:19:18 #6311 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6312 [Debug] > │ points="435,425 435,430 "/>                                                  │

23:19:18 #6313 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6314 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6315 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6316 [Debug] > │ 2.4                                                                          │

23:19:18 #6317 [Debug] > │ </text>                                                                      │

23:19:18 #6318 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6319 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:18 #6320 [Debug] > │ <text x="502" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6321 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6322 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6323 [Debug] > │ 2.6                                                                          │

23:19:18 #6324 [Debug] > │ </text>                                                                      │

23:19:18 #6325 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6326 [Debug] > │ points="502,425 502,430 "/>                                                  │

23:19:18 #6327 [Debug] > │ <text x="535" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6328 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6329 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6330 [Debug] > │ 2.8                                                                          │

23:19:18 #6331 [Debug] > │ </text>                                                                      │

23:19:18 #6332 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6333 [Debug] > │ points="535,425 535,430 "/>                                                  │

23:19:18 #6334 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6335 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:18 #6336 [Debug] > │ <text x="595" y="406" dy="0.5ex" text-anchor="start"                         │

23:19:18 #6337 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6338 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6339 [Debug] > │ -0.2                                                                         │

23:19:18 #6340 [Debug] > │ </text>                                                                      │

23:19:18 #6341 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6342 [Debug] > │ points="585,406 590,406 "/>                                                  │

23:19:18 #6343 [Debug] > │ <text x="595" y="342" dy="0.5ex" text-anchor="start"                         │

23:19:18 #6344 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6345 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6346 [Debug] > │ -0.1                                                                         │

23:19:18 #6347 [Debug] > │ </text>                                                                      │

23:19:18 #6348 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6349 [Debug] > │ points="585,342 590,342 "/>                                                  │

23:19:18 #6350 [Debug] > │ <text x="595" y="278" dy="0.5ex" text-anchor="start"                         │

23:19:18 #6351 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6352 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6353 [Debug] > │ -0.1                                                                         │

23:19:18 #6354 [Debug] > │ </text>                                                                      │

23:19:18 #6355 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6356 [Debug] > │ points="585,278 590,278 "/>                                                  │

23:19:18 #6357 [Debug] > │ <text x="595" y="214" dy="0.5ex" text-anchor="start"                         │

23:19:18 #6358 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6359 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6360 [Debug] > │ -0.0                                                                         │

23:19:18 #6361 [Debug] > │ </text>                                                                      │

23:19:18 #6362 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6363 [Debug] > │ points="585,214 590,214 "/>                                                  │

23:19:18 #6364 [Debug] > │ <text x="617" y="149" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:18 #6365 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6366 [Debug] > │ 0.0                                                                          │

23:19:18 #6367 [Debug] > │ </text>                                                                      │

23:19:18 #6368 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6369 [Debug] > │ points="585,149 590,149 "/>                                                  │

23:19:18 #6370 [Debug] > │ <text x="617" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6371 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6372 [Debug] > │ 0.1                                                                          │

23:19:18 #6373 [Debug] > │ </text>                                                                      │

23:19:18 #6374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6375 [Debug] > │ points="585,85 590,85 "/>                                                    │

23:19:18 #6376 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:18 #6377 [Debug] > │ points="69,85 71,88 73,95 74,107 76,123 78,143 79,167 81,193 83,220 84,248   │

23:19:18 #6378 [Debug] > │ 86,276 88,304 89,329 91,353 93,373 94,390 96,402 98,411 99,415 101,414       │

23:19:18 #6379 [Debug] > │ 103,408 104,398 106,384 108,366 109,345 111,321 113,296 114,270 116,243      │

23:19:18 #6380 [Debug] > │ 118,217 119,193 121,170 123,151 124,134 126,121 128,112 129,108 131,107      │

23:19:18 #6381 [Debug] > │ 133,111 134,120 136,132 138,148 139,167 141,189 143,212 144,237 146,262      │

23:19:18 #6382 [Debug] > │ 148,286 149,310 151,331 153,351 154,367 156,380 158,390 159,395 161,396      │

23:19:18 #6383 [Debug] > │ 163,394 164,387 166,376 168,362 169,344 171,324 173,303 174,280 176,256      │

23:19:18 #6384 [Debug] > │ 178,233 179,210 181,189 183,171 184,154 186,141 188,131 189,125 191,123      │

23:19:18 #6385 [Debug] > │ 193,125 194,130 196,139 198,152 199,168 201,186 203,206 204,228 206,250      │

23:19:18 #6386 [Debug] > │ 208,272 209,294 211,314 213,333 214,349 216,362 218,373 219,379 221,382      │

23:19:18 #6387 [Debug] > │ 223,382 224,377 226,369 228,358 229,344 231,327 232,308 234,288 236,267      │

23:19:18 #6388 [Debug] > │ 237,246 239,225 241,205 242,187 244,171 246,157 247,147 249,140 251,136      │

23:19:18 #6389 [Debug] > │ 252,135 254,139 256,145 257,155 259,168 261,184 262,201 264,220 266,240      │

23:19:18 #6390 [Debug] > │ 267,261 269,281 271,300 272,318 274,334 276,347 277,358 279,366 281,371      │

23:19:18 #6391 [Debug] > │ 282,372 284,369 286,364 287,355 289,343 291,329 292,313 294,295 296,276      │

23:19:18 #6392 [Debug] > │ 297,256 299,237 301,218 302,201 304,185 306,171 307,160 309,152 311,147      │

23:19:18 #6393 [Debug] > │ 312,145 314,146 316,151 317,158 319,169 321,182 322,197 324,214 326,232      │

23:19:18 #6394 [Debug] > │ 327,251 329,270 331,288 332,305 334,321 336,334 337,346 339,354 341,360      │

23:19:18 #6395 [Debug] > │ 342,363 344,362 346,359 347,352 349,342 351,330 352,316 354,300 356,283      │

23:19:18 #6396 [Debug] > │ 357,265 359,247 361,229 362,212 364,197 366,183 367,172 369,163 371,156      │

23:19:18 #6397 [Debug] > │ 372,153 374,153 376,156 377,161 379,170 381,181 382,194 384,209 386,226      │

23:19:18 #6398 [Debug] > │ 387,243 389,260 391,277 392,294 394,309 396,323 397,335 399,344 401,351      │

23:19:18 #6399 [Debug] > │ 402,355 404,356 406,354 407,349 409,341 410,331 412,319 414,305 415,289      │

23:19:18 #6400 [Debug] > │ 417,273 419,256 420,239 422,223 424,208 425,194 427,182 429,172 430,165      │

23:19:18 #6401 [Debug] > │ 432,161 434,159 435,160 437,164 439,171 440,180 442,192 444,205 445,220      │

23:19:18 #6402 [Debug] > │ 447,235 449,252 450,268 452,284 454,299 455,313 457,325 459,335 460,342      │

23:19:18 #6403 [Debug] > │ 462,347 464,350 465,349 467,346 469,340 470,332 472,321 474,309 475,295      │

23:19:18 #6404 [Debug] > │ 477,280 479,264 480,248 482,232 484,217 485,204 487,192 489,181 490,173      │

23:19:18 #6405 [Debug] > │ 492,168 494,165 495,165 497,167 499,172 500,180 502,189 504,201 505,215      │

23:19:18 #6406 [Debug] > │ 507,229 509,244 510,260 512,275 514,290 515,303 517,316 519,326 520,335      │

23:19:18 #6407 [Debug] > │ 522,341 524,344 525,345 527,343 529,339 530,332 532,323 534,312 535,300      │

23:19:18 #6408 [Debug] > │ 537,286 539,271 540,256 542,241 544,226 545,213 547,200 549,190 550,181      │

23:19:18 #6409 [Debug] > │ 552,175 554,171 555,169 557,170 559,174 560,180 562,188 564,198 565,210      │

23:19:18 #6410 [Debug] > │ 567,223 569,238 "/>                                                          │

23:19:18 #6411 [Debug] > │ <rect x="464" y="235" width="116" height="30" opacity="1" fill="none"        │

23:19:18 #6412 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:18 #6413 [Debug] > │ <text x="504" y="245" dy="0.76em" text-anchor="start"                        │

23:19:18 #6414 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6415 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6416 [Debug] > │ position (m)                                                                 │

23:19:18 #6417 [Debug] > │ </text>                                                                      │

23:19:18 #6418 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:18 #6419 [Debug] > │ points="474,250 494,250 "/>                                                  │

23:19:18 #6420 [Debug] > │ </svg>                                                                       │

23:19:18 #6421 [Debug] > │                                                                              │

23:19:18 #6422 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:18 #6423 [Debug] >

23:19:18 #6424 [Debug] > ╭─[ 544.30ms - stdout ]────────────────────────────────────────────────────────╮

23:19:18 #6425 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:18 #6426 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:18 #6427 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:18 #6428 [Debug] > │     let v2 : bool = v1 < 301                                                 │

23:19:18 #6429 [Debug] > │     v2                                                                       │

23:19:18 #6430 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:18 #6431 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:18 #6432 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:18 #6433 [Debug] > │     v3                                                                       │

23:19:18 #6434 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │

23:19:18 #6435 [Debug] > │ * float * float) =                                                           │

23:19:18 #6436 [Debug] > │     let v4 : bool = v3 <= 0.0                                                │

23:19:18 #6437 [Debug] > │     if v4 then                                                               │

23:19:18 #6438 [Debug] > │         struct (v0, v1, v2)                                                  │

23:19:18 #6439 [Debug] > │     else                                                                     │

23:19:18 #6440 [Debug] > │         let v5 : float =  -v2                                                │

23:19:18 #6441 [Debug] > │         let v6 : bool = v2 >= v5                                             │

23:19:18 #6442 [Debug] > │         let v7 : float =                                                     │

23:19:18 #6443 [Debug] > │             if v6 then                                                       │

23:19:18 #6444 [Debug] > │                 v2                                                           │

23:19:18 #6445 [Debug] > │             else                                                             │

23:19:18 #6446 [Debug] > │                 v5                                                           │

23:19:18 #6447 [Debug] > │         let v8 : float = -0.0030787608005179976 * v7                         │

23:19:18 #6448 [Debug] > │         let v9 : float = v8 * v2                                             │

23:19:18 #6449 [Debug] > │         let v10 : float = v9 / 2.0                                           │

23:19:18 #6450 [Debug] > │         let v11 : float = -0.8 * v1                                          │

23:19:18 #6451 [Debug] > │         let v12 : float = v11 + v10                                          │

23:19:18 #6452 [Debug] > │         let v13 : float = v12 + -0.026477955                                 │

23:19:18 #6453 [Debug] > │         let v14 : float = v13 / 0.0027                                       │

23:19:18 #6454 [Debug] > │         let v15 : float = v0 + 0.001                                         │

23:19:18 #6455 [Debug] > │         let v16 : float = v2 * 0.001                                         │

23:19:18 #6456 [Debug] > │         let v17 : float = v1 + v16                                           │

23:19:18 #6457 [Debug] > │         let v18 : float = v14 * 0.001                                        │

23:19:18 #6458 [Debug] > │         let v19 : float = v2 + v18                                           │

23:19:18 #6459 [Debug] > │         let v20 : float = v3 - 1.0                                           │

23:19:18 #6460 [Debug] > │         method3(v15, v17, v19, v20)                                          │

23:19:18 #6461 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:18 #6462 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:18 #6463 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (301)                      │

23:19:18 #6464 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:18 #6465 [Debug] > │     while method1(v1) do                                                     │

23:19:18 #6466 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:18 #6467 [Debug] > │         let v4 : float = float v3                                            │

23:19:18 #6468 [Debug] > │         let v5 : float = 0.01 * v4                                           │

23:19:18 #6469 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:18 #6470 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:18 #6471 [Debug] > │         v1.l0 <- v6                                                          │

23:19:18 #6472 [Debug] > │         ()                                                                   │

23:19:18 #6473 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:18 #6474 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:18 #6475 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:18 #6476 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:18 #6477 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:18 #6478 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:18 #6479 [Debug] > │         let v13 : float = 0.0                                                │

23:19:18 #6480 [Debug] > │         let v14 : float = 0.1                                                │

23:19:18 #6481 [Debug] > │         let v15 : float = 0.0                                                │

23:19:18 #6482 [Debug] > │         let v16 : float = 0.0                                                │

23:19:18 #6483 [Debug] > │         let struct (v17 : float, v18 : float, v19 : float) = method3(v13,    │

23:19:18 #6484 [Debug] > │ v14, v15, v16)                                                               │

23:19:18 #6485 [Debug] > │         let v20 : float = 0.0                                                │

23:19:18 #6486 [Debug] > │         let v21 : float = 0.1                                                │

23:19:18 #6487 [Debug] > │         let v22 : float = 0.0                                                │

23:19:18 #6488 [Debug] > │         let v23 : float = 1.0                                                │

23:19:18 #6489 [Debug] > │         let struct (v24 : float, v25 : float, v26 : float) = method3(v20,    │

23:19:18 #6490 [Debug] > │ v21, v22, v23)                                                               │

23:19:18 #6491 [Debug] > │         let v27 : float = v24 - v17                                          │

23:19:18 #6492 [Debug] > │         let v28 : float = v12 / v27                                          │

23:19:18 #6493 [Debug] > │         let v29 : float = round v28                                          │

23:19:18 #6494 [Debug] > │         let v30 : float =  -v29                                              │

23:19:18 #6495 [Debug] > │         let v31 : bool = v29 >= v30                                          │

23:19:18 #6496 [Debug] > │         let v32 : float =                                                    │

23:19:18 #6497 [Debug] > │             if v31 then                                                      │

23:19:18 #6498 [Debug] > │                 v29                                                          │

23:19:18 #6499 [Debug] > │             else                                                             │

23:19:18 #6500 [Debug] > │                 v30                                                          │

23:19:18 #6501 [Debug] > │         let v33 : float = 0.0                                                │

23:19:18 #6502 [Debug] > │         let v34 : float = 0.1                                                │

23:19:18 #6503 [Debug] > │         let v35 : float = 0.0                                                │

23:19:18 #6504 [Debug] > │         let struct (v36 : float, v37 : float, v38 : float) = method3(v33,    │

23:19:18 #6505 [Debug] > │ v34, v35, v32)                                                               │

23:19:18 #6506 [Debug] > │         v8.[int v11] <- v37                                                  │

23:19:18 #6507 [Debug] > │         let v39 : int32 = v11 + 1                                            │

23:19:18 #6508 [Debug] > │         v9.l0 <- v39                                                         │

23:19:18 #6509 [Debug] > │         ()                                                                   │

23:19:18 #6510 [Debug] > │     let v40 : string = "position (m)"                                        │

23:19:18 #6511 [Debug] > │     let v41 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:18 #6512 [Debug] > │ (v40, v0, v8)|]                                                              │

23:19:18 #6513 [Debug] > │     let v42 : string = "ping pong ball on a slinky"                          │

23:19:18 #6514 [Debug] > │     let v43 : string = "time (s)"                                            │

23:19:18 #6515 [Debug] > │     let v44 : string = ""                                                    │

23:19:18 #6516 [Debug] > │     struct (v42, v43, v44, v41)                                              │

23:19:18 #6517 [Debug] > │ method0()                                                                    │

23:19:18 #6518 [Debug] > │                                                                              │

23:19:18 #6519 [Debug] > │                                                                              │

23:19:18 #6520 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:18 #6521 [Debug] >

23:19:18 #6522 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:18 #6523 [Debug] > // // test

23:19:18 #6524 [Debug] >

23:19:18 #6525 [Debug] > inl pingpong_velocity t =

23:19:18 #6526 [Debug] >     velocity_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t

23:19:18 #6527 [Debug] >

23:19:18 #6528 [Debug] > inl x = am'.init_series 0 3 0.01

23:19:18 #6529 [Debug] > inl y = x |> am.map pingpong_velocity

23:19:18 #6530 [Debug] > "ping pong ball on a slinky", "time (s)", "", ;[[ "velocity (m/s)", x, y ]]

23:19:18 #6531 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1839-3939-392fe33bf4a6\main.spi

23:19:18 #6532 [Debug] >

23:19:18 #6533 [Debug] > ╭─[ 274.63ms - return value ]──────────────────────────────────────────────────╮

23:19:18 #6534 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:18 #6535 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:18 #6536 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:18 #6537 [Debug] > │ stroke="none"/>                                                              │

23:19:18 #6538 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:18 #6539 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6540 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6541 [Debug] > │ ping pong ball on a slinky                                                   │

23:19:18 #6542 [Debug] > │ </text>                                                                      │

23:19:18 #6543 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │

23:19:18 #6544 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #6545 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:18 #6546 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #6547 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │

23:19:18 #6548 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #6549 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │

23:19:18 #6550 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #6551 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │

23:19:18 #6552 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #6553 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424"        │

23:19:18 #6554 [Debug] > │ x2="103" y2="75"/>                                                           │

23:19:18 #6555 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424"        │

23:19:18 #6556 [Debug] > │ x2="111" y2="75"/>                                                           │

23:19:18 #6557 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:18 #6558 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:18 #6559 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424"        │

23:19:18 #6560 [Debug] > │ x2="128" y2="75"/>                                                           │

23:19:18 #6561 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424"        │

23:19:18 #6562 [Debug] > │ x2="136" y2="75"/>                                                           │

23:19:18 #6563 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424"        │

23:19:18 #6564 [Debug] > │ x2="144" y2="75"/>                                                           │

23:19:18 #6565 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424"        │

23:19:18 #6566 [Debug] > │ x2="153" y2="75"/>                                                           │

23:19:18 #6567 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424"        │

23:19:18 #6568 [Debug] > │ x2="161" y2="75"/>                                                           │

23:19:18 #6569 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:18 #6570 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:18 #6571 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424"        │

23:19:18 #6572 [Debug] > │ x2="178" y2="75"/>                                                           │

23:19:18 #6573 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424"        │

23:19:18 #6574 [Debug] > │ x2="186" y2="75"/>                                                           │

23:19:18 #6575 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424"        │

23:19:18 #6576 [Debug] > │ x2="194" y2="75"/>                                                           │

23:19:18 #6577 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424"        │

23:19:18 #6578 [Debug] > │ x2="203" y2="75"/>                                                           │

23:19:18 #6579 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424"        │

23:19:18 #6580 [Debug] > │ x2="211" y2="75"/>                                                           │

23:19:18 #6581 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:18 #6582 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:18 #6583 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424"        │

23:19:18 #6584 [Debug] > │ x2="228" y2="75"/>                                                           │

23:19:18 #6585 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424"        │

23:19:18 #6586 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:18 #6587 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424"        │

23:19:18 #6588 [Debug] > │ x2="244" y2="75"/>                                                           │

23:19:18 #6589 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424"        │

23:19:18 #6590 [Debug] > │ x2="252" y2="75"/>                                                           │

23:19:18 #6591 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424"        │

23:19:18 #6592 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:18 #6593 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:18 #6594 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:18 #6595 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424"        │

23:19:18 #6596 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:18 #6597 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424"        │

23:19:18 #6598 [Debug] > │ x2="286" y2="75"/>                                                           │

23:19:18 #6599 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424"        │

23:19:18 #6600 [Debug] > │ x2="294" y2="75"/>                                                           │

23:19:18 #6601 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424"        │

23:19:18 #6602 [Debug] > │ x2="302" y2="75"/>                                                           │

23:19:18 #6603 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424"        │

23:19:18 #6604 [Debug] > │ x2="311" y2="75"/>                                                           │

23:19:18 #6605 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:18 #6606 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:18 #6607 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424"        │

23:19:18 #6608 [Debug] > │ x2="327" y2="75"/>                                                           │

23:19:18 #6609 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424"        │

23:19:18 #6610 [Debug] > │ x2="336" y2="75"/>                                                           │

23:19:18 #6611 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424"        │

23:19:18 #6612 [Debug] > │ x2="344" y2="75"/>                                                           │

23:19:18 #6613 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424"        │

23:19:18 #6614 [Debug] > │ x2="352" y2="75"/>                                                           │

23:19:18 #6615 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424"        │

23:19:18 #6616 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:18 #6617 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:18 #6618 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:18 #6619 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424"        │

23:19:18 #6620 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:18 #6621 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424"        │

23:19:18 #6622 [Debug] > │ x2="386" y2="75"/>                                                           │

23:19:18 #6623 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424"        │

23:19:18 #6624 [Debug] > │ x2="394" y2="75"/>                                                           │

23:19:18 #6625 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424"        │

23:19:18 #6626 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:18 #6627 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424"        │

23:19:18 #6628 [Debug] > │ x2="410" y2="75"/>                                                           │

23:19:18 #6629 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:18 #6630 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:18 #6631 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424"        │

23:19:18 #6632 [Debug] > │ x2="427" y2="75"/>                                                           │

23:19:18 #6633 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424"        │

23:19:18 #6634 [Debug] > │ x2="435" y2="75"/>                                                           │

23:19:18 #6635 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424"        │

23:19:18 #6636 [Debug] > │ x2="444" y2="75"/>                                                           │

23:19:18 #6637 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424"        │

23:19:18 #6638 [Debug] > │ x2="452" y2="75"/>                                                           │

23:19:18 #6639 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424"        │

23:19:18 #6640 [Debug] > │ x2="460" y2="75"/>                                                           │

23:19:18 #6641 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:18 #6642 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:18 #6643 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424"        │

23:19:18 #6644 [Debug] > │ x2="477" y2="75"/>                                                           │

23:19:18 #6645 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424"        │

23:19:18 #6646 [Debug] > │ x2="485" y2="75"/>                                                           │

23:19:18 #6647 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424"        │

23:19:18 #6648 [Debug] > │ x2="494" y2="75"/>                                                           │

23:19:18 #6649 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424"        │

23:19:18 #6650 [Debug] > │ x2="502" y2="75"/>                                                           │

23:19:18 #6651 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424"        │

23:19:18 #6652 [Debug] > │ x2="510" y2="75"/>                                                           │

23:19:18 #6653 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:18 #6654 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:18 #6655 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424"        │

23:19:18 #6656 [Debug] > │ x2="527" y2="75"/>                                                           │

23:19:18 #6657 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424"        │

23:19:18 #6658 [Debug] > │ x2="535" y2="75"/>                                                           │

23:19:18 #6659 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424"        │

23:19:18 #6660 [Debug] > │ x2="544" y2="75"/>                                                           │

23:19:18 #6661 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424"        │

23:19:18 #6662 [Debug] > │ x2="552" y2="75"/>                                                           │

23:19:18 #6663 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424"        │

23:19:18 #6664 [Debug] > │ x2="560" y2="75"/>                                                           │

23:19:18 #6665 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:18 #6666 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:18 #6667 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424"        │

23:19:18 #6668 [Debug] > │ x2="577" y2="75"/>                                                           │

23:19:18 #6669 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="414"         │

23:19:18 #6670 [Debug] > │ x2="584" y2="414"/>                                                          │

23:19:18 #6671 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="398"         │

23:19:18 #6672 [Debug] > │ x2="584" y2="398"/>                                                          │

23:19:18 #6673 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="383"         │

23:19:18 #6674 [Debug] > │ x2="584" y2="383"/>                                                          │

23:19:18 #6675 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368"         │

23:19:18 #6676 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:18 #6677 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="352"         │

23:19:18 #6678 [Debug] > │ x2="584" y2="352"/>                                                          │

23:19:18 #6679 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="337"         │

23:19:18 #6680 [Debug] > │ x2="584" y2="337"/>                                                          │

23:19:18 #6681 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321"         │

23:19:18 #6682 [Debug] > │ x2="584" y2="321"/>                                                          │

23:19:18 #6683 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="306"         │

23:19:18 #6684 [Debug] > │ x2="584" y2="306"/>                                                          │

23:19:18 #6685 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="291"         │

23:19:18 #6686 [Debug] > │ x2="584" y2="291"/>                                                          │

23:19:18 #6687 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="275"         │

23:19:18 #6688 [Debug] > │ x2="584" y2="275"/>                                                          │

23:19:18 #6689 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="260"         │

23:19:18 #6690 [Debug] > │ x2="584" y2="260"/>                                                          │

23:19:18 #6691 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="244"         │

23:19:18 #6692 [Debug] > │ x2="584" y2="244"/>                                                          │

23:19:18 #6693 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="229"         │

23:19:18 #6694 [Debug] > │ x2="584" y2="229"/>                                                          │

23:19:18 #6695 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="214"         │

23:19:18 #6696 [Debug] > │ x2="584" y2="214"/>                                                          │

23:19:18 #6697 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="198"         │

23:19:18 #6698 [Debug] > │ x2="584" y2="198"/>                                                          │

23:19:18 #6699 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="183"         │

23:19:18 #6700 [Debug] > │ x2="584" y2="183"/>                                                          │

23:19:18 #6701 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="167"         │

23:19:18 #6702 [Debug] > │ x2="584" y2="167"/>                                                          │

23:19:18 #6703 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="152"         │

23:19:18 #6704 [Debug] > │ x2="584" y2="152"/>                                                          │

23:19:18 #6705 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137"         │

23:19:18 #6706 [Debug] > │ x2="584" y2="137"/>                                                          │

23:19:18 #6707 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="121"         │

23:19:18 #6708 [Debug] > │ x2="584" y2="121"/>                                                          │

23:19:18 #6709 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106"         │

23:19:18 #6710 [Debug] > │ x2="584" y2="106"/>                                                          │

23:19:18 #6711 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:18 #6712 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6713 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6714 [Debug] > │ time (s)                                                                     │

23:19:18 #6715 [Debug] > │ </text>                                                                      │

23:19:18 #6716 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:18 #6717 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6718 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:18 #6719 [Debug] > │                                                                              │

23:19:18 #6720 [Debug] > │ </text>                                                                      │

23:19:18 #6721 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:18 #6722 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6723 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6724 [Debug] > │ time (s)                                                                     │

23:19:18 #6725 [Debug] > │ </text>                                                                      │

23:19:18 #6726 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6727 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6728 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:18 #6729 [Debug] > │                                                                              │

23:19:18 #6730 [Debug] > │ </text>                                                                      │

23:19:18 #6731 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:18 #6732 [Debug] > │ y2="75"/>                                                                    │

23:19:18 #6733 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="103" y1="424"        │

23:19:18 #6734 [Debug] > │ x2="103" y2="75"/>                                                           │

23:19:18 #6735 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="136" y1="424"        │

23:19:18 #6736 [Debug] > │ x2="136" y2="75"/>                                                           │

23:19:18 #6737 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:18 #6738 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:18 #6739 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="203" y1="424"        │

23:19:18 #6740 [Debug] > │ x2="203" y2="75"/>                                                           │

23:19:18 #6741 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424"        │

23:19:18 #6742 [Debug] > │ x2="236" y2="75"/>                                                           │

23:19:18 #6743 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:18 #6744 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:18 #6745 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="302" y1="424"        │

23:19:18 #6746 [Debug] > │ x2="302" y2="75"/>                                                           │

23:19:18 #6747 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="336" y1="424"        │

23:19:18 #6748 [Debug] > │ x2="336" y2="75"/>                                                           │

23:19:18 #6749 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:18 #6750 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:18 #6751 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424"        │

23:19:18 #6752 [Debug] > │ x2="402" y2="75"/>                                                           │

23:19:18 #6753 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="435" y1="424"        │

23:19:18 #6754 [Debug] > │ x2="435" y2="75"/>                                                           │

23:19:18 #6755 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:18 #6756 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:18 #6757 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="502" y1="424"        │

23:19:18 #6758 [Debug] > │ x2="502" y2="75"/>                                                           │

23:19:18 #6759 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="535" y1="424"        │

23:19:18 #6760 [Debug] > │ x2="535" y2="75"/>                                                           │

23:19:18 #6761 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="398"         │

23:19:18 #6762 [Debug] > │ x2="584" y2="398"/>                                                          │

23:19:18 #6763 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="360"         │

23:19:18 #6764 [Debug] > │ x2="584" y2="360"/>                                                          │

23:19:18 #6765 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="321"         │

23:19:18 #6766 [Debug] > │ x2="584" y2="321"/>                                                          │

23:19:18 #6767 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="283"         │

23:19:18 #6768 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:18 #6769 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="244"         │

23:19:18 #6770 [Debug] > │ x2="584" y2="244"/>                                                          │

23:19:18 #6771 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="206"         │

23:19:18 #6772 [Debug] > │ x2="584" y2="206"/>                                                          │

23:19:18 #6773 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="167"         │

23:19:18 #6774 [Debug] > │ x2="584" y2="167"/>                                                          │

23:19:18 #6775 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="129"         │

23:19:18 #6776 [Debug] > │ x2="584" y2="129"/>                                                          │

23:19:18 #6777 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="91" x2="584" │

23:19:18 #6778 [Debug] > │ y2="91"/>                                                                    │

23:19:18 #6779 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6780 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:18 #6781 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:18 #6782 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6783 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6784 [Debug] > │ 0.0                                                                          │

23:19:18 #6785 [Debug] > │ </text>                                                                      │

23:19:18 #6786 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6787 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:18 #6788 [Debug] > │ <text x="103" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6789 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6790 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6791 [Debug] > │ 0.2                                                                          │

23:19:18 #6792 [Debug] > │ </text>                                                                      │

23:19:18 #6793 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6794 [Debug] > │ points="103,69 103,74 "/>                                                    │

23:19:18 #6795 [Debug] > │ <text x="136" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6796 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6797 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6798 [Debug] > │ 0.4                                                                          │

23:19:18 #6799 [Debug] > │ </text>                                                                      │

23:19:18 #6800 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6801 [Debug] > │ points="136,69 136,74 "/>                                                    │

23:19:18 #6802 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6803 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6804 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6805 [Debug] > │ 0.6                                                                          │

23:19:18 #6806 [Debug] > │ </text>                                                                      │

23:19:18 #6807 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6808 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:18 #6809 [Debug] > │ <text x="203" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6810 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6811 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6812 [Debug] > │ 0.8                                                                          │

23:19:18 #6813 [Debug] > │ </text>                                                                      │

23:19:18 #6814 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6815 [Debug] > │ points="203,69 203,74 "/>                                                    │

23:19:18 #6816 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6817 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6818 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6819 [Debug] > │ 1.0                                                                          │

23:19:18 #6820 [Debug] > │ </text>                                                                      │

23:19:18 #6821 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6822 [Debug] > │ points="236,69 236,74 "/>                                                    │

23:19:18 #6823 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6824 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6825 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6826 [Debug] > │ 1.2                                                                          │

23:19:18 #6827 [Debug] > │ </text>                                                                      │

23:19:18 #6828 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6829 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:18 #6830 [Debug] > │ <text x="302" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6831 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6832 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6833 [Debug] > │ 1.4                                                                          │

23:19:18 #6834 [Debug] > │ </text>                                                                      │

23:19:18 #6835 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6836 [Debug] > │ points="302,69 302,74 "/>                                                    │

23:19:18 #6837 [Debug] > │ <text x="336" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6838 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6839 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6840 [Debug] > │ 1.6                                                                          │

23:19:18 #6841 [Debug] > │ </text>                                                                      │

23:19:18 #6842 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6843 [Debug] > │ points="336,69 336,74 "/>                                                    │

23:19:18 #6844 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6845 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6846 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6847 [Debug] > │ 1.8                                                                          │

23:19:18 #6848 [Debug] > │ </text>                                                                      │

23:19:18 #6849 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6850 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:18 #6851 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6852 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6853 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6854 [Debug] > │ 2.0                                                                          │

23:19:18 #6855 [Debug] > │ </text>                                                                      │

23:19:18 #6856 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6857 [Debug] > │ points="402,69 402,74 "/>                                                    │

23:19:18 #6858 [Debug] > │ <text x="435" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6859 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6860 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6861 [Debug] > │ 2.2                                                                          │

23:19:18 #6862 [Debug] > │ </text>                                                                      │

23:19:18 #6863 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6864 [Debug] > │ points="435,69 435,74 "/>                                                    │

23:19:18 #6865 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6866 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6867 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6868 [Debug] > │ 2.4                                                                          │

23:19:18 #6869 [Debug] > │ </text>                                                                      │

23:19:18 #6870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6871 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:18 #6872 [Debug] > │ <text x="502" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6873 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6874 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6875 [Debug] > │ 2.6                                                                          │

23:19:18 #6876 [Debug] > │ </text>                                                                      │

23:19:18 #6877 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6878 [Debug] > │ points="502,69 502,74 "/>                                                    │

23:19:18 #6879 [Debug] > │ <text x="535" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:18 #6880 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6881 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6882 [Debug] > │ 2.8                                                                          │

23:19:18 #6883 [Debug] > │ </text>                                                                      │

23:19:18 #6884 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6885 [Debug] > │ points="535,69 535,74 "/>                                                    │

23:19:18 #6886 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6887 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:18 #6888 [Debug] > │ <text x="45" y="398" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6889 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6890 [Debug] > │ -2.0                                                                         │

23:19:18 #6891 [Debug] > │ </text>                                                                      │

23:19:18 #6892 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6893 [Debug] > │ points="49,398 54,398 "/>                                                    │

23:19:18 #6894 [Debug] > │ <text x="45" y="360" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6895 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6896 [Debug] > │ -1.5                                                                         │

23:19:18 #6897 [Debug] > │ </text>                                                                      │

23:19:18 #6898 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6899 [Debug] > │ points="49,360 54,360 "/>                                                    │

23:19:18 #6900 [Debug] > │ <text x="45" y="321" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6901 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6902 [Debug] > │ -1.0                                                                         │

23:19:18 #6903 [Debug] > │ </text>                                                                      │

23:19:18 #6904 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6905 [Debug] > │ points="49,321 54,321 "/>                                                    │

23:19:18 #6906 [Debug] > │ <text x="45" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6907 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6908 [Debug] > │ -0.5                                                                         │

23:19:18 #6909 [Debug] > │ </text>                                                                      │

23:19:18 #6910 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6911 [Debug] > │ points="49,283 54,283 "/>                                                    │

23:19:18 #6912 [Debug] > │ <text x="45" y="244" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6913 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6914 [Debug] > │ 0.0                                                                          │

23:19:18 #6915 [Debug] > │ </text>                                                                      │

23:19:18 #6916 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6917 [Debug] > │ points="49,244 54,244 "/>                                                    │

23:19:18 #6918 [Debug] > │ <text x="45" y="206" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6919 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6920 [Debug] > │ 0.5                                                                          │

23:19:18 #6921 [Debug] > │ </text>                                                                      │

23:19:18 #6922 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6923 [Debug] > │ points="49,206 54,206 "/>                                                    │

23:19:18 #6924 [Debug] > │ <text x="45" y="167" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6925 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6926 [Debug] > │ 1.0                                                                          │

23:19:18 #6927 [Debug] > │ </text>                                                                      │

23:19:18 #6928 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6929 [Debug] > │ points="49,167 54,167 "/>                                                    │

23:19:18 #6930 [Debug] > │ <text x="45" y="129" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:18 #6931 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6932 [Debug] > │ 1.5                                                                          │

23:19:18 #6933 [Debug] > │ </text>                                                                      │

23:19:18 #6934 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6935 [Debug] > │ points="49,129 54,129 "/>                                                    │

23:19:18 #6936 [Debug] > │ <text x="45" y="91" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:18 #6937 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #6938 [Debug] > │ 2.0                                                                          │

23:19:18 #6939 [Debug] > │ </text>                                                                      │

23:19:18 #6940 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6941 [Debug] > │ points="49,91 54,91 "/>                                                      │

23:19:18 #6942 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6943 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:18 #6944 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:18 #6945 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6946 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6947 [Debug] > │ 0.0                                                                          │

23:19:18 #6948 [Debug] > │ </text>                                                                      │

23:19:18 #6949 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6950 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:18 #6951 [Debug] > │ <text x="103" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6952 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6953 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6954 [Debug] > │ 0.2                                                                          │

23:19:18 #6955 [Debug] > │ </text>                                                                      │

23:19:18 #6956 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6957 [Debug] > │ points="103,425 103,430 "/>                                                  │

23:19:18 #6958 [Debug] > │ <text x="136" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6959 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6960 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6961 [Debug] > │ 0.4                                                                          │

23:19:18 #6962 [Debug] > │ </text>                                                                      │

23:19:18 #6963 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6964 [Debug] > │ points="136,425 136,430 "/>                                                  │

23:19:18 #6965 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6966 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6967 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6968 [Debug] > │ 0.6                                                                          │

23:19:18 #6969 [Debug] > │ </text>                                                                      │

23:19:18 #6970 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6971 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:18 #6972 [Debug] > │ <text x="203" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6973 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6974 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6975 [Debug] > │ 0.8                                                                          │

23:19:18 #6976 [Debug] > │ </text>                                                                      │

23:19:18 #6977 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6978 [Debug] > │ points="203,425 203,430 "/>                                                  │

23:19:18 #6979 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6980 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6981 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6982 [Debug] > │ 1.0                                                                          │

23:19:18 #6983 [Debug] > │ </text>                                                                      │

23:19:18 #6984 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6985 [Debug] > │ points="236,425 236,430 "/>                                                  │

23:19:18 #6986 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6987 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6988 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6989 [Debug] > │ 1.2                                                                          │

23:19:18 #6990 [Debug] > │ </text>                                                                      │

23:19:18 #6991 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6992 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:18 #6993 [Debug] > │ <text x="302" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #6994 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #6995 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #6996 [Debug] > │ 1.4                                                                          │

23:19:18 #6997 [Debug] > │ </text>                                                                      │

23:19:18 #6998 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #6999 [Debug] > │ points="302,425 302,430 "/>                                                  │

23:19:18 #7000 [Debug] > │ <text x="336" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #7001 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7002 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7003 [Debug] > │ 1.6                                                                          │

23:19:18 #7004 [Debug] > │ </text>                                                                      │

23:19:18 #7005 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7006 [Debug] > │ points="336,425 336,430 "/>                                                  │

23:19:18 #7007 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #7008 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7009 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7010 [Debug] > │ 1.8                                                                          │

23:19:18 #7011 [Debug] > │ </text>                                                                      │

23:19:18 #7012 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7013 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:18 #7014 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #7015 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7016 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7017 [Debug] > │ 2.0                                                                          │

23:19:18 #7018 [Debug] > │ </text>                                                                      │

23:19:18 #7019 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7020 [Debug] > │ points="402,425 402,430 "/>                                                  │

23:19:18 #7021 [Debug] > │ <text x="435" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #7022 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7023 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7024 [Debug] > │ 2.2                                                                          │

23:19:18 #7025 [Debug] > │ </text>                                                                      │

23:19:18 #7026 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7027 [Debug] > │ points="435,425 435,430 "/>                                                  │

23:19:18 #7028 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #7029 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7030 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7031 [Debug] > │ 2.4                                                                          │

23:19:18 #7032 [Debug] > │ </text>                                                                      │

23:19:18 #7033 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7034 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:18 #7035 [Debug] > │ <text x="502" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #7036 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7037 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7038 [Debug] > │ 2.6                                                                          │

23:19:18 #7039 [Debug] > │ </text>                                                                      │

23:19:18 #7040 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7041 [Debug] > │ points="502,425 502,430 "/>                                                  │

23:19:18 #7042 [Debug] > │ <text x="535" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:18 #7043 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7044 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7045 [Debug] > │ 2.8                                                                          │

23:19:18 #7046 [Debug] > │ </text>                                                                      │

23:19:18 #7047 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7048 [Debug] > │ points="535,425 535,430 "/>                                                  │

23:19:18 #7049 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7050 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:18 #7051 [Debug] > │ <text x="595" y="398" dy="0.5ex" text-anchor="start"                         │

23:19:18 #7052 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7053 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7054 [Debug] > │ -2.0                                                                         │

23:19:18 #7055 [Debug] > │ </text>                                                                      │

23:19:18 #7056 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7057 [Debug] > │ points="585,398 590,398 "/>                                                  │

23:19:18 #7058 [Debug] > │ <text x="595" y="360" dy="0.5ex" text-anchor="start"                         │

23:19:18 #7059 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7060 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7061 [Debug] > │ -1.5                                                                         │

23:19:18 #7062 [Debug] > │ </text>                                                                      │

23:19:18 #7063 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7064 [Debug] > │ points="585,360 590,360 "/>                                                  │

23:19:18 #7065 [Debug] > │ <text x="595" y="321" dy="0.5ex" text-anchor="start"                         │

23:19:18 #7066 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7067 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7068 [Debug] > │ -1.0                                                                         │

23:19:18 #7069 [Debug] > │ </text>                                                                      │

23:19:18 #7070 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7071 [Debug] > │ points="585,321 590,321 "/>                                                  │

23:19:18 #7072 [Debug] > │ <text x="595" y="283" dy="0.5ex" text-anchor="start"                         │

23:19:18 #7073 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:18 #7074 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:18 #7075 [Debug] > │ -0.5                                                                         │

23:19:18 #7076 [Debug] > │ </text>                                                                      │

23:19:18 #7077 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7078 [Debug] > │ points="585,283 590,283 "/>                                                  │

23:19:18 #7079 [Debug] > │ <text x="617" y="244" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:18 #7080 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #7081 [Debug] > │ 0.0                                                                          │

23:19:18 #7082 [Debug] > │ </text>                                                                      │

23:19:18 #7083 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7084 [Debug] > │ points="585,244 590,244 "/>                                                  │

23:19:18 #7085 [Debug] > │ <text x="617" y="206" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:18 #7086 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #7087 [Debug] > │ 0.5                                                                          │

23:19:18 #7088 [Debug] > │ </text>                                                                      │

23:19:18 #7089 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:18 #7090 [Debug] > │ points="585,206 590,206 "/>                                                  │

23:19:18 #7091 [Debug] > │ <text x="617" y="167" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:18 #7092 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:18 #7093 [Debug] > │ 1.0                                                                          │

23:19:18 #7094 [Debug] > │ </text>                                                                      │

23:19:18 #7095 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:19 #7096 [Debug] > │ points="585,167 590,167 "/>                                                  │

23:19:19 #7097 [Debug] > │ <text x="617" y="129" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:19 #7098 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:19 #7099 [Debug] > │ 1.5                                                                          │

23:19:19 #7100 [Debug] > │ </text>                                                                      │

23:19:19 #7101 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:19 #7102 [Debug] > │ points="585,129 590,129 "/>                                                  │

23:19:19 #7103 [Debug] > │ <text x="617" y="91" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:19 #7104 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:19 #7105 [Debug] > │ 2.0                                                                          │

23:19:19 #7106 [Debug] > │ </text>                                                                      │

23:19:19 #7107 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:19 #7108 [Debug] > │ points="585,91 590,91 "/>                                                    │

23:19:19 #7109 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:19 #7110 [Debug] > │ points="69,244 71,275 73,304 74,331 76,356 78,377 79,393 81,406 83,413       │

23:19:19 #7111 [Debug] > │ 84,415 86,412 88,404 89,391 91,375 93,355 94,332 96,307 98,280 99,252        │

23:19:19 #7112 [Debug] > │ 101,223 103,196 104,170 106,146 108,126 109,109 111,96 113,89 114,85 116,87  │

23:19:19 #7113 [Debug] > │ 118,93 119,103 121,118 123,136 124,157 126,180 128,205 129,231 131,257       │

23:19:19 #7114 [Debug] > │ 133,283 134,308 136,331 138,351 139,368 141,381 143,389 144,394 146,393      │

23:19:19 #7115 [Debug] > │ 148,389 149,380 151,367 153,351 154,332 156,311 158,288 159,264 161,239      │

23:19:19 #7116 [Debug] > │ 163,214 164,190 166,168 168,148 169,132 171,118 173,109 174,104 176,103      │

23:19:19 #7117 [Debug] > │ 178,106 179,114 181,125 183,139 184,156 186,176 188,197 189,220 191,244      │

23:19:19 #7118 [Debug] > │ 193,267 194,290 196,312 198,331 199,348 201,361 203,371 204,377 206,379      │

23:19:19 #7119 [Debug] > │ 208,377 209,371 211,361 213,348 214,333 216,314 218,294 219,273 221,251      │

23:19:19 #7120 [Debug] > │ 223,228 224,206 226,185 228,166 229,150 231,136 232,126 234,119 236,117      │

23:19:19 #7121 [Debug] > │ 237,118 239,122 241,130 242,142 244,156 246,173 247,192 249,212 251,233      │

23:19:19 #7122 [Debug] > │ 252,254 254,276 256,296 257,315 259,331 261,345 262,355 264,363 266,366      │

23:19:19 #7123 [Debug] > │ 267,366 269,363 271,356 272,346 274,333 276,317 277,300 279,281 281,261      │

23:19:19 #7124 [Debug] > │ 282,240 284,220 286,200 287,182 289,165 291,151 292,140 294,133 296,128      │

23:19:19 #7125 [Debug] > │ 297,127 299,130 301,136 302,145 304,156 306,171 307,187 309,205 311,224      │

23:19:19 #7126 [Debug] > │ 312,244 314,263 316,283 317,301 319,317 321,331 322,342 324,350 326,355      │

23:19:19 #7127 [Debug] > │ 327,357 329,356 331,351 332,343 334,332 336,319 337,304 339,287 341,269      │

23:19:19 #7128 [Debug] > │ 342,250 344,231 346,212 347,195 349,178 351,164 352,153 354,144 356,138      │

23:19:19 #7129 [Debug] > │ 357,136 359,136 361,140 362,147 364,157 366,169 367,183 369,199 371,216      │

23:19:19 #7130 [Debug] > │ 372,234 374,253 376,271 377,288 379,304 381,318 382,330 384,339 386,346      │

23:19:19 #7131 [Debug] > │ 387,349 389,349 391,346 392,340 394,332 396,321 397,307 399,292 401,276      │

23:19:19 #7132 [Debug] > │ 402,258 404,241 406,223 407,206 409,190 410,176 412,164 414,154 415,148      │

23:19:19 #7133 [Debug] > │ 417,144 419,143 420,145 422,150 424,158 425,168 427,180 429,194 430,210      │

23:19:19 #7134 [Debug] > │ 432,227 434,244 435,261 437,278 439,293 440,307 442,320 444,330 445,337      │

23:19:19 #7135 [Debug] > │ 447,341 449,343 450,342 452,338 454,331 455,322 457,310 459,297 460,282      │

23:19:19 #7136 [Debug] > │ 462,266 464,249 465,233 467,216 469,201 470,187 472,174 474,164 475,156      │

23:19:19 #7137 [Debug] > │ 477,151 479,149 480,149 482,153 484,159 485,167 487,178 489,190 490,204      │

23:19:19 #7138 [Debug] > │ 492,220 494,236 495,252 497,268 499,283 500,297 502,310 504,320 505,329      │

23:19:19 #7139 [Debug] > │ 507,334 509,337 510,337 512,335 514,330 515,322 517,312 519,300 520,287      │

23:19:19 #7140 [Debug] > │ 522,272 524,257 525,241 527,226 529,210 530,196 532,184 534,173 535,164      │

23:19:19 #7141 [Debug] > │ 537,158 539,154 540,154 542,155 544,160 545,167 547,176 549,187 550,199      │

23:19:19 #7142 [Debug] > │ 552,213 554,228 555,244 557,259 559,274 560,288 562,301 564,312 565,321      │

23:19:19 #7143 [Debug] > │ 567,327 569,332 "/>                                                          │

23:19:19 #7144 [Debug] > │ <rect x="454" y="235" width="126" height="30" opacity="1" fill="none"        │

23:19:19 #7145 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:19 #7146 [Debug] > │ <text x="494" y="245" dy="0.76em" text-anchor="start"                        │

23:19:19 #7147 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:19 #7148 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:19 #7149 [Debug] > │ velocity (m/s)                                                               │

23:19:19 #7150 [Debug] > │ </text>                                                                      │

23:19:19 #7151 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:19 #7152 [Debug] > │ points="464,250 484,250 "/>                                                  │

23:19:19 #7153 [Debug] > │ </svg>                                                                       │

23:19:19 #7154 [Debug] > │                                                                              │

23:19:19 #7155 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:19 #7156 [Debug] >

23:19:19 #7157 [Debug] > ╭─[ 651.06ms - stdout ]────────────────────────────────────────────────────────╮

23:19:19 #7158 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:19 #7159 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:19 #7160 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:19 #7161 [Debug] > │     let v2 : bool = v1 < 301                                                 │

23:19:19 #7162 [Debug] > │     v2                                                                       │

23:19:19 #7163 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:19 #7164 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:19 #7165 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:19 #7166 [Debug] > │     v3                                                                       │

23:19:19 #7167 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │

23:19:19 #7168 [Debug] > │ * float * float) =                                                           │

23:19:19 #7169 [Debug] > │     let v4 : bool = v3 <= 0.0                                                │

23:19:19 #7170 [Debug] > │     if v4 then                                                               │

23:19:19 #7171 [Debug] > │         struct (v0, v1, v2)                                                  │

23:19:19 #7172 [Debug] > │     else                                                                     │

23:19:19 #7173 [Debug] > │         let v5 : float =  -v2                                                │

23:19:19 #7174 [Debug] > │         let v6 : bool = v2 >= v5                                             │

23:19:19 #7175 [Debug] > │         let v7 : float =                                                     │

23:19:19 #7176 [Debug] > │             if v6 then                                                       │

23:19:19 #7177 [Debug] > │                 v2                                                           │

23:19:19 #7178 [Debug] > │             else                                                             │

23:19:19 #7179 [Debug] > │                 v5                                                           │

23:19:19 #7180 [Debug] > │         let v8 : float = -0.0030787608005179976 * v7                         │

23:19:19 #7181 [Debug] > │         let v9 : float = v8 * v2                                             │

23:19:19 #7182 [Debug] > │         let v10 : float = v9 / 2.0                                           │

23:19:19 #7183 [Debug] > │         let v11 : float = -0.8 * v1                                          │

23:19:19 #7184 [Debug] > │         let v12 : float = v11 + v10                                          │

23:19:19 #7185 [Debug] > │         let v13 : float = v12 + -0.026477955                                 │

23:19:19 #7186 [Debug] > │         let v14 : float = v13 / 0.0027                                       │

23:19:19 #7187 [Debug] > │         let v15 : float = v0 + 0.001                                         │

23:19:19 #7188 [Debug] > │         let v16 : float = v2 * 0.001                                         │

23:19:19 #7189 [Debug] > │         let v17 : float = v1 + v16                                           │

23:19:19 #7190 [Debug] > │         let v18 : float = v14 * 0.001                                        │

23:19:19 #7191 [Debug] > │         let v19 : float = v2 + v18                                           │

23:19:19 #7192 [Debug] > │         let v20 : float = v3 - 1.0                                           │

23:19:19 #7193 [Debug] > │         method3(v15, v17, v19, v20)                                          │

23:19:19 #7194 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:19 #7195 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:19 #7196 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (301)                      │

23:19:19 #7197 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:19 #7198 [Debug] > │     while method1(v1) do                                                     │

23:19:19 #7199 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:19 #7200 [Debug] > │         let v4 : float = float v3                                            │

23:19:19 #7201 [Debug] > │         let v5 : float = 0.01 * v4                                           │

23:19:19 #7202 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:19 #7203 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:19 #7204 [Debug] > │         v1.l0 <- v6                                                          │

23:19:19 #7205 [Debug] > │         ()                                                                   │

23:19:19 #7206 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:19 #7207 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:19 #7208 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:19 #7209 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:19 #7210 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:19 #7211 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:19 #7212 [Debug] > │         let v13 : float = 0.0                                                │

23:19:19 #7213 [Debug] > │         let v14 : float = 0.1                                                │

23:19:19 #7214 [Debug] > │         let v15 : float = 0.0                                                │

23:19:19 #7215 [Debug] > │         let v16 : float = 0.0                                                │

23:19:19 #7216 [Debug] > │         let struct (v17 : float, v18 : float, v19 : float) = method3(v13,    │

23:19:19 #7217 [Debug] > │ v14, v15, v16)                                                               │

23:19:19 #7218 [Debug] > │         let v20 : float = 0.0                                                │

23:19:19 #7219 [Debug] > │         let v21 : float = 0.1                                                │

23:19:19 #7220 [Debug] > │         let v22 : float = 0.0                                                │

23:19:19 #7221 [Debug] > │         let v23 : float = 1.0                                                │

23:19:19 #7222 [Debug] > │         let struct (v24 : float, v25 : float, v26 : float) = method3(v20,    │

23:19:19 #7223 [Debug] > │ v21, v22, v23)                                                               │

23:19:19 #7224 [Debug] > │         let v27 : float = v24 - v17                                          │

23:19:19 #7225 [Debug] > │         let v28 : float = v12 / v27                                          │

23:19:19 #7226 [Debug] > │         let v29 : float = round v28                                          │

23:19:19 #7227 [Debug] > │         let v30 : float =  -v29                                              │

23:19:19 #7228 [Debug] > │         let v31 : bool = v29 >= v30                                          │

23:19:19 #7229 [Debug] > │         let v32 : float =                                                    │

23:19:19 #7230 [Debug] > │             if v31 then                                                      │

23:19:19 #7231 [Debug] > │                 v29                                                          │

23:19:19 #7232 [Debug] > │             else                                                             │

23:19:19 #7233 [Debug] > │                 v30                                                          │

23:19:19 #7234 [Debug] > │         let v33 : float = 0.0                                                │

23:19:19 #7235 [Debug] > │         let v34 : float = 0.1                                                │

23:19:19 #7236 [Debug] > │         let v35 : float = 0.0                                                │

23:19:19 #7237 [Debug] > │         let struct (v36 : float, v37 : float, v38 : float) = method3(v33,    │

23:19:19 #7238 [Debug] > │ v34, v35, v32)                                                               │

23:19:19 #7239 [Debug] > │         v8.[int v11] <- v38                                                  │

23:19:19 #7240 [Debug] > │         let v39 : int32 = v11 + 1                                            │

23:19:19 #7241 [Debug] > │         v9.l0 <- v39                                                         │

23:19:19 #7242 [Debug] > │         ()                                                                   │

23:19:19 #7243 [Debug] > │     let v40 : string = "velocity (m/s)"                                      │

23:19:19 #7244 [Debug] > │     let v41 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:19 #7245 [Debug] > │ (v40, v0, v8)|]                                                              │

23:19:19 #7246 [Debug] > │     let v42 : string = "ping pong ball on a slinky"                          │

23:19:19 #7247 [Debug] > │     let v43 : string = "time (s)"                                            │

23:19:19 #7248 [Debug] > │     let v44 : string = ""                                                    │

23:19:19 #7249 [Debug] > │     struct (v42, v43, v44, v41)                                              │

23:19:19 #7250 [Debug] > │ method0()                                                                    │

23:19:19 #7251 [Debug] > │                                                                              │

23:19:19 #7252 [Debug] > │                                                                              │

23:19:19 #7253 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:19 #7254 [Debug] >

23:19:19 #7255 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:19 #7256 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:19 #7257 [Debug] > │ ## shift                                                                     │

23:19:19 #7258 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:19 #7259 [Debug] >

23:19:19 #7260 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:19 #7261 [Debug] > type update_function s = s -> s

23:19:19 #7262 [Debug] >

23:19:19 #7263 [Debug] > type differential_equation s ds = s -> ds

23:19:19 #7264 [Debug] >

23:19:19 #7265 [Debug] > type numerical_method s ds = differential_equation s ds -> update_function s

23:19:19 #7266 [Debug] >

23:19:19 #7267 [Debug] >

23:19:19 #7268 [Debug] > inl solver method =

23:19:19 #7269 [Debug] >     method >> seq.iterate

23:19:19 #7270 [Debug] > inl solver' method =

23:19:19 #7271 [Debug] >     method >> seq.iterate'

23:19:19 #7272 [Debug] > inl solver_ method =

23:19:19 #7273 [Debug] >     method >> seq.iterate_

23:19:19 #7274 [Debug] >

23:19:19 #7275 [Debug] >

23:19:19 #7276 [Debug] > inl euler_cromer_1d dt deriv (state_1d (t0, x0, v0) as t) =

23:19:19 #7277 [Debug] >     inl (rrr (_, _, dvdt)) = deriv t

23:19:19 #7278 [Debug] >     inl t1 = t0 + dt

23:19:19 #7279 [Debug] >     inl v1 = v0 + dvdt * dt

23:19:19 #7280 [Debug] >     inl x1 = x0 + v1 * dt

23:19:19 #7281 [Debug] >     state_1d (t1, x1, v1)

23:19:19 #7282 [Debug] >

23:19:19 #7283 [Debug] > inl update_txv_ec dt m fs =

23:19:19 #7284 [Debug] >     euler_cromer_1d dt (newton_second_1d m fs)

23:19:19 #7285 [Debug] >

23:19:19 #7286 [Debug] > prototype (+++) ds : ds -> ds -> ds

23:19:19 #7287 [Debug] > prototype scale ds : f64 -> ds -> ds

23:19:19 #7288 [Debug] >

23:19:19 #7289 [Debug] > instance (+++) rrr = fun (rrr (dtdt0, dxdt0, dvdt0)) (rrr (dtdt1, dxdt1, dvdt1))

23:19:19 #7290 [Debug] > =>

23:19:19 #7291 [Debug] >     rrr (dtdt0 + dtdt1, dxdt0 + dxdt1, dvdt0 + dvdt1)

23:19:19 #7292 [Debug] >

23:19:19 #7293 [Debug] > instance scale rrr = fun w (rrr (dtdt0, dxdt0, dvdt0)) =>

23:19:19 #7294 [Debug] >     rrr (w * dtdt0, w * dxdt0, w * dvdt0)

23:19:19 #7295 [Debug] >

23:19:19 #7296 [Debug] > prototype shift s : forall ds. f64 -> ds -> s -> s

23:19:19 #7297 [Debug] >

23:19:19 #7298 [Debug] > instance shift state_1d = fun dt ds (state_1d (t, x, v)) =>

23:19:19 #7299 [Debug] >     inl dtdt, dxdt, dvdt =

23:19:19 #7300 [Debug] >         real

23:19:19 #7301 [Debug] >             match ds with

23:19:19 #7302 [Debug] >             | rrr x => x

23:19:19 #7303 [Debug] >             | state_1d x => x

23:19:19 #7304 [Debug] >     state_1d (t + dtdt * dt, x + dxdt * dt, v + dvdt * dt)

23:19:19 #7305 [Debug] >

23:19:19 #7306 [Debug] > inl euler dt deriv st0 =

23:19:19 #7307 [Debug] >     shift dt (deriv st0) st0

23:19:19 #7308 [Debug] >

23:19:19 #7309 [Debug] > inl runge_kutta_4 dt deriv st0 =

23:19:19 #7310 [Debug] >     inl m0 = deriv st0

23:19:19 #7311 [Debug] >     inl m1 = deriv (shift (dt / 2) m0 st0)

23:19:19 #7312 [Debug] >     inl m2 = deriv (shift (dt / 2) m1 st0)

23:19:19 #7313 [Debug] >     inl m3 = deriv (shift dt m2 st0)

23:19:19 #7314 [Debug] >     shift (dt / 6) (m0 +++ m1 +++ m1 +++ m2 +++ m2 +++ m3) st0

23:19:19 #7315 [Debug] >

23:19:19 #7316 [Debug] > inl exponential (_, x0, v0) =

23:19:19 #7317 [Debug] >     1f64, v0, x0

23:19:19 #7318 [Debug] >

23:19:19 #7319 [Debug] > inl of_state_1d (state_1d (t, x, v)) =

23:19:19 #7320 [Debug] >     t, x, v

23:19:19 #7321 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1911-1146-1c443cc8e247\main.spi

23:19:19 #7322 [Debug] >

23:19:19 #7323 [Debug] > ╭─[ 204.29ms - stdout ]────────────────────────────────────────────────────────╮

23:19:19 #7324 [Debug] > │ ()                                                                           │

23:19:19 #7325 [Debug] > │                                                                              │

23:19:19 #7326 [Debug] > │                                                                              │

23:19:19 #7327 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:19 #7328 [Debug] >

23:19:19 #7329 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:19 #7330 [Debug] > // // test

23:19:19 #7331 [Debug] >

23:19:19 #7332 [Debug] > solver (euler 0.01) (of_state_1d >> exponential >> state_1d) (state_1d (0, 1,

23:19:19 #7333 [Debug] > 1)) 800i32

23:19:19 #7334 [Debug] > |> _equal (state_1d (7.999999999999874, 2864.8311229272326, 2864.8311229272326))

23:19:19 #7335 [Debug] >

23:19:19 #7336 [Debug] > solver (euler_cromer_1d 0.1) (of_state_1d >> exponential >> rrr) (state_1d (0,

23:19:19 #7337 [Debug] > 1, 1)) 80i32

23:19:19 #7338 [Debug] > |> _equal (state_1d (7.999999999999988, 3043.379244966009, 2895.0121485099035))

23:19:19 #7339 [Debug] >

23:19:19 #7340 [Debug] > solver (runge_kutta_4 1) (of_state_1d >> exponential >> rrr) (state_1d (0, 1,

23:19:19 #7341 [Debug] > 1)) 8i32

23:19:19 #7342 [Debug] > |> _equal (state_1d (8.0, 2894.789038540849, 2894.789038540849))

23:19:19 #7343 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1931-3167-3fb5ad1d8cfb\main.spi

23:19:19 #7344 [Debug] >

23:19:19 #7345 [Debug] > ╭─[ 280.91ms - stdout ]────────────────────────────────────────────────────────╮

23:19:19 #7346 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:19 #7347 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (7.999999999999874,       │

23:19:19 #7348 [Debug] > │ 2864.8311229272326, 2864.8311229272326)} / expected: %A{struct               │

23:19:19 #7349 [Debug] > │ (7.999999999999874, 2864.8311229272326, 2864.8311229272326)}"                │

23:19:19 #7350 [Debug] > │     let v1 : string = $"_equal / actual: %A{struct (7.999999999999988,       │

23:19:19 #7351 [Debug] > │ 3043.379244966009, 2895.0121485099035)} / expected: %A{struct                │

23:19:19 #7352 [Debug] > │ (7.999999999999988, 3043.379244966009, 2895.0121485099035)}"                 │

23:19:19 #7353 [Debug] > │     let v2 : string = $"_equal / actual: %A{struct (8.0, 2894.789038540849,  │

23:19:19 #7354 [Debug] > │ 2894.789038540849)} / expected: %A{struct (8.0, 2894.789038540849,           │

23:19:19 #7355 [Debug] > │ 2894.789038540849)}"                                                         │

23:19:19 #7356 [Debug] > │     ()                                                                       │

23:19:19 #7357 [Debug] > │ method0()                                                                    │

23:19:19 #7358 [Debug] > │                                                                              │

23:19:19 #7359 [Debug] > │                                                                              │

23:19:19 #7360 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:19 #7361 [Debug] >

23:19:19 #7362 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:19 #7363 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:19 #7364 [Debug] > │ ## vec                                                                       │

23:19:19 #7365 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:19 #7366 [Debug] >

23:19:19 #7367 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:19 #7368 [Debug] > type vec =

23:19:19 #7369 [Debug] >     {

23:19:19 #7370 [Debug] >         x : f64

23:19:19 #7371 [Debug] >         y : f64

23:19:19 #7372 [Debug] >         z : f64

23:19:19 #7373 [Debug] >     }

23:19:19 #7374 [Debug] >

23:19:19 #7375 [Debug] > inl vec x y z : vec =

23:19:19 #7376 [Debug] >     { x y z }

23:19:19 #7377 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1960-6068-6deb23cd8f73\main.spi

23:19:19 #7378 [Debug] >

23:19:19 #7379 [Debug] > ╭─[ 192.71ms - stdout ]────────────────────────────────────────────────────────╮

23:19:19 #7380 [Debug] > │ ()                                                                           │

23:19:19 #7381 [Debug] > │                                                                              │

23:19:19 #7382 [Debug] > │                                                                              │

23:19:19 #7383 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:19 #7384 [Debug] >

23:19:19 #7385 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:19 #7386 [Debug] > // // test

23:19:19 #7387 [Debug] >

23:19:19 #7388 [Debug] > vec 1 2 3 .z

23:19:19 #7389 [Debug] > |> _equal 3

23:19:19 #7390 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1980-8024-8323e9cd5e95\main.spi

23:19:20 #7391 [Debug] >

23:19:20 #7392 [Debug] > ╭─[ 320.07ms - stdout ]────────────────────────────────────────────────────────╮

23:19:20 #7393 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:20 #7394 [Debug] > │     let v0 : string = $"_equal / actual: %A{3.0} / expected: %A{3.0}"        │

23:19:20 #7395 [Debug] > │     ()                                                                       │

23:19:20 #7396 [Debug] > │ method0()                                                                    │

23:19:20 #7397 [Debug] > │                                                                              │

23:19:20 #7398 [Debug] > │                                                                              │

23:19:20 #7399 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7400 [Debug] >

23:19:20 #7401 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:20 #7402 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:20 #7403 [Debug] > │ ### consts                                                                   │

23:19:20 #7404 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7405 [Debug] >

23:19:20 #7406 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:20 #7407 [Debug] > inl i_hat () = vec 1 0 0

23:19:20 #7408 [Debug] > inl j_hat () = vec 0 1 0

23:19:20 #7409 [Debug] > inl k_hat () = vec 0 0 1

23:19:20 #7410 [Debug] > inl zero_vec () = vec 0 0 0

23:19:20 #7411 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2013-1307-19989f4286e3\main.spi

23:19:20 #7412 [Debug] >

23:19:20 #7413 [Debug] > ╭─[ 144.11ms - stdout ]────────────────────────────────────────────────────────╮

23:19:20 #7414 [Debug] > │ ()                                                                           │

23:19:20 #7415 [Debug] > │                                                                              │

23:19:20 #7416 [Debug] > │                                                                              │

23:19:20 #7417 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7418 [Debug] >

23:19:20 #7419 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:20 #7420 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:20 #7421 [Debug] > │ ### ^+^                                                                      │

23:19:20 #7422 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7423 [Debug] >

23:19:20 #7424 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:20 #7425 [Debug] > inl (^+^) (a : vec) (b : vec) =

23:19:20 #7426 [Debug] >     vec (a.x + b.x) (a.y + b.y) (a.z + b.z)

23:19:20 #7427 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2028-2858-20b2bad9889c\main.spi

23:19:20 #7428 [Debug] >

23:19:20 #7429 [Debug] > ╭─[ 160.94ms - stdout ]────────────────────────────────────────────────────────╮

23:19:20 #7430 [Debug] > │ ()                                                                           │

23:19:20 #7431 [Debug] > │                                                                              │

23:19:20 #7432 [Debug] > │                                                                              │

23:19:20 #7433 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7434 [Debug] >

23:19:20 #7435 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:20 #7436 [Debug] > // // test

23:19:20 #7437 [Debug] >

23:19:20 #7438 [Debug] > vec 1 2 3 ^+^ vec 4 5 6

23:19:20 #7439 [Debug] > |> _equal (vec 5 7 9)

23:19:20 #7440 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2044-4479-468fa7e84335\main.spi

23:19:20 #7441 [Debug] >

23:19:20 #7442 [Debug] > ╭─[ 146.17ms - stdout ]────────────────────────────────────────────────────────╮

23:19:20 #7443 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:20 #7444 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} /        │

23:19:20 #7445 [Debug] > │ expected: %A{struct (5.0, 7.0, 9.0)}"                                        │

23:19:20 #7446 [Debug] > │     ()                                                                       │

23:19:20 #7447 [Debug] > │ method0()                                                                    │

23:19:20 #7448 [Debug] > │                                                                              │

23:19:20 #7449 [Debug] > │                                                                              │

23:19:20 #7450 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7451 [Debug] >

23:19:20 #7452 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:20 #7453 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:20 #7454 [Debug] > │ ### sum_vec                                                                  │

23:19:20 #7455 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7456 [Debug] >

23:19:20 #7457 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:20 #7458 [Debug] > inl sum_vec vs =

23:19:20 #7459 [Debug] >     vs |> listm.fold (^+^) (zero_vec ())

23:19:20 #7460 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2060-6028-63bf2ad45388\main.spi

23:19:20 #7461 [Debug] >

23:19:20 #7462 [Debug] > ╭─[ 190.05ms - stdout ]────────────────────────────────────────────────────────╮

23:19:20 #7463 [Debug] > │ ()                                                                           │

23:19:20 #7464 [Debug] > │                                                                              │

23:19:20 #7465 [Debug] > │                                                                              │

23:19:20 #7466 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7467 [Debug] >

23:19:20 #7468 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:20 #7469 [Debug] > // // test

23:19:20 #7470 [Debug] >

23:19:20 #7471 [Debug] > [[ vec 1 2 3; vec 4 5 6 ]]

23:19:20 #7472 [Debug] > |> sum_vec

23:19:20 #7473 [Debug] > |> _equal (vec 5 7 9)

23:19:20 #7474 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2079-7956-702ab604f420\main.spi

23:19:20 #7475 [Debug] >

23:19:20 #7476 [Debug] > ╭─[ 174.46ms - stdout ]────────────────────────────────────────────────────────╮

23:19:20 #7477 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:20 #7478 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} /        │

23:19:20 #7479 [Debug] > │ expected: %A{struct (5.0, 7.0, 9.0)}"                                        │

23:19:20 #7480 [Debug] > │     ()                                                                       │

23:19:20 #7481 [Debug] > │ method0()                                                                    │

23:19:20 #7482 [Debug] > │                                                                              │

23:19:20 #7483 [Debug] > │                                                                              │

23:19:20 #7484 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7485 [Debug] >

23:19:20 #7486 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:20 #7487 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:20 #7488 [Debug] > │ ### *^                                                                       │

23:19:20 #7489 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:20 #7490 [Debug] >

23:19:20 #7491 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:20 #7492 [Debug] > inl (*^) c { x y z } =

23:19:20 #7493 [Debug] >     vec (c * x) (c * y) (c * z)

23:19:21 #7494 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2097-9773-96750ad34f53\main.spi

23:19:21 #7495 [Debug] >

23:19:21 #7496 [Debug] > ╭─[ 182.34ms - stdout ]────────────────────────────────────────────────────────╮

23:19:21 #7497 [Debug] > │ ()                                                                           │

23:19:21 #7498 [Debug] > │                                                                              │

23:19:21 #7499 [Debug] > │                                                                              │

23:19:21 #7500 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:21 #7501 [Debug] >

23:19:21 #7502 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:21 #7503 [Debug] > // // test

23:19:21 #7504 [Debug] >

23:19:21 #7505 [Debug] > 5 *^ vec 1 2 3

23:19:21 #7506 [Debug] > |> _equal (vec 5 10 15)

23:19:21 #7507 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2116-1618-124f65c53c3b\main.spi

23:19:21 #7508 [Debug] >

23:19:21 #7509 [Debug] > ╭─[ 394.39ms - stdout ]────────────────────────────────────────────────────────╮

23:19:21 #7510 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:21 #7511 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} /      │

23:19:21 #7512 [Debug] > │ expected: %A{struct (5.0, 10.0, 15.0)}"                                      │

23:19:21 #7513 [Debug] > │     ()                                                                       │

23:19:21 #7514 [Debug] > │ method0()                                                                    │

23:19:21 #7515 [Debug] > │                                                                              │

23:19:21 #7516 [Debug] > │                                                                              │

23:19:21 #7517 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:21 #7518 [Debug] >

23:19:21 #7519 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:21 #7520 [Debug] > // // test

23:19:21 #7521 [Debug] >

23:19:21 #7522 [Debug] > 3 *^ i_hat () ^+^ 4 *^ k_hat ()

23:19:21 #7523 [Debug] > |> _equal (vec 3 0 4)

23:19:21 #7524 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2164-6428-6a6077c7d8db\main.spi

23:19:22 #7525 [Debug] >

23:19:22 #7526 [Debug] > ╭─[ 532.36ms - stdout ]────────────────────────────────────────────────────────╮

23:19:22 #7527 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:22 #7528 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (3.0, 0.0, 4.0)} /        │

23:19:22 #7529 [Debug] > │ expected: %A{struct (3.0, 0.0, 4.0)}"                                        │

23:19:22 #7530 [Debug] > │     ()                                                                       │

23:19:22 #7531 [Debug] > │ method0()                                                                    │

23:19:22 #7532 [Debug] > │                                                                              │

23:19:22 #7533 [Debug] > │                                                                              │

23:19:22 #7534 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:22 #7535 [Debug] >

23:19:22 #7536 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:22 #7537 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:22 #7538 [Debug] > │ ### ^*                                                                       │

23:19:22 #7539 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:22 #7540 [Debug] >

23:19:22 #7541 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:22 #7542 [Debug] > inl (^*) v c =

23:19:22 #7543 [Debug] >     (*^) c v

23:19:22 #7544 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2217-1714-1df950cf592d\main.spi

23:19:22 #7545 [Debug] >

23:19:22 #7546 [Debug] > ╭─[ 331.31ms - stdout ]────────────────────────────────────────────────────────╮

23:19:22 #7547 [Debug] > │ ()                                                                           │

23:19:22 #7548 [Debug] > │                                                                              │

23:19:22 #7549 [Debug] > │                                                                              │

23:19:22 #7550 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:22 #7551 [Debug] >

23:19:22 #7552 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:22 #7553 [Debug] > // // test

23:19:22 #7554 [Debug] >

23:19:22 #7555 [Debug] > vec 1 2 3 ^* 5

23:19:22 #7556 [Debug] > |> _equal (vec 5 10 15)

23:19:22 #7557 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2249-4993-48930de118ec\main.spi

23:19:22 #7558 [Debug] >

23:19:22 #7559 [Debug] > ╭─[ 362.90ms - stdout ]────────────────────────────────────────────────────────╮

23:19:22 #7560 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:22 #7561 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} /      │

23:19:22 #7562 [Debug] > │ expected: %A{struct (5.0, 10.0, 15.0)}"                                      │

23:19:22 #7563 [Debug] > │     ()                                                                       │

23:19:22 #7564 [Debug] > │ method0()                                                                    │

23:19:22 #7565 [Debug] > │                                                                              │

23:19:22 #7566 [Debug] > │                                                                              │

23:19:22 #7567 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:22 #7568 [Debug] >

23:19:22 #7569 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:22 #7570 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:22 #7571 [Debug] > │ ### ^/                                                                       │

23:19:22 #7572 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:22 #7573 [Debug] >

23:19:22 #7574 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:22 #7575 [Debug] > inl (^/) { x y z } c =

23:19:22 #7576 [Debug] >     vec (x / c) (y / c) (z / c)

23:19:23 #7577 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2287-8784-8847f2ce6a88\main.spi

23:19:23 #7578 [Debug] >

23:19:23 #7579 [Debug] > ╭─[ 287.47ms - stdout ]────────────────────────────────────────────────────────╮

23:19:23 #7580 [Debug] > │ ()                                                                           │

23:19:23 #7581 [Debug] > │                                                                              │

23:19:23 #7582 [Debug] > │                                                                              │

23:19:23 #7583 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:23 #7584 [Debug] >

23:19:23 #7585 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:23 #7586 [Debug] > // // test

23:19:23 #7587 [Debug] >

23:19:23 #7588 [Debug] > vec 1 2 3 ^/ 5

23:19:23 #7589 [Debug] > |> _equal (vec 0.2 0.4 0.6)

23:19:23 #7590 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2317-1717-176b411c78b3\main.spi

23:19:23 #7591 [Debug] >

23:19:23 #7592 [Debug] > ╭─[ 280.38ms - stdout ]────────────────────────────────────────────────────────╮

23:19:23 #7593 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:23 #7594 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (0.2, 0.4, 0.6)} /        │

23:19:23 #7595 [Debug] > │ expected: %A{struct (0.2, 0.4, 0.6)}"                                        │

23:19:23 #7596 [Debug] > │     ()                                                                       │

23:19:23 #7597 [Debug] > │ method0()                                                                    │

23:19:23 #7598 [Debug] > │                                                                              │

23:19:23 #7599 [Debug] > │                                                                              │

23:19:23 #7600 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:23 #7601 [Debug] >

23:19:23 #7602 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:23 #7603 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:23 #7604 [Debug] > │ ### negate_vec                                                               │

23:19:23 #7605 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:23 #7606 [Debug] >

23:19:23 #7607 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:23 #7608 [Debug] > inl negate_vec v =

23:19:23 #7609 [Debug] >     v ^* -1

23:19:23 #7610 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2345-4599-433dd710fd66\main.spi

23:19:23 #7611 [Debug] >

23:19:23 #7612 [Debug] > ╭─[ 199.68ms - stdout ]────────────────────────────────────────────────────────╮

23:19:23 #7613 [Debug] > │ ()                                                                           │

23:19:23 #7614 [Debug] > │                                                                              │

23:19:23 #7615 [Debug] > │                                                                              │

23:19:23 #7616 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:23 #7617 [Debug] >

23:19:23 #7618 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:23 #7619 [Debug] > // // test

23:19:23 #7620 [Debug] >

23:19:23 #7621 [Debug] > vec 1 2 3

23:19:23 #7622 [Debug] > |> negate_vec

23:19:23 #7623 [Debug] > |> _equal (vec -1 -2 -3)

23:19:23 #7624 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2366-6628-6835419156cd\main.spi

23:19:23 #7625 [Debug] >

23:19:23 #7626 [Debug] > ╭─[ 336.05ms - stdout ]────────────────────────────────────────────────────────╮

23:19:23 #7627 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:23 #7628 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (-1.0, -2.0, -3.0)} /     │

23:19:23 #7629 [Debug] > │ expected: %A{struct (-1.0, -2.0, -3.0)}"                                     │

23:19:23 #7630 [Debug] > │     ()                                                                       │

23:19:23 #7631 [Debug] > │ method0()                                                                    │

23:19:24 #7632 [Debug] > │                                                                              │

23:19:24 #7633 [Debug] > │                                                                              │

23:19:24 #7634 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:24 #7635 [Debug] >

23:19:24 #7636 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:24 #7637 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:24 #7638 [Debug] > │ ### ^-^                                                                      │

23:19:24 #7639 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:24 #7640 [Debug] >

23:19:24 #7641 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:24 #7642 [Debug] > inl (^-^) a b =

23:19:24 #7643 [Debug] >     a ^+^ (negate_vec b)

23:19:24 #7644 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2400-0093-00bc1b77a9eb\main.spi

23:19:24 #7645 [Debug] >

23:19:24 #7646 [Debug] > ╭─[ 195.75ms - stdout ]────────────────────────────────────────────────────────╮

23:19:24 #7647 [Debug] > │ ()                                                                           │

23:19:24 #7648 [Debug] > │                                                                              │

23:19:24 #7649 [Debug] > │                                                                              │

23:19:24 #7650 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:24 #7651 [Debug] >

23:19:24 #7652 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:24 #7653 [Debug] > // // test

23:19:24 #7654 [Debug] >

23:19:24 #7655 [Debug] > vec 1 2 3 ^-^ vec 4 5 6

23:19:24 #7656 [Debug] > |> _equal (vec -3 -3 -3)

23:19:24 #7657 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2420-2064-2e08a349ee84\main.spi

23:19:24 #7658 [Debug] >

23:19:24 #7659 [Debug] > ╭─[ 350.60ms - stdout ]────────────────────────────────────────────────────────╮

23:19:24 #7660 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:24 #7661 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (-3.0, -3.0, -3.0)} /     │

23:19:24 #7662 [Debug] > │ expected: %A{struct (-3.0, -3.0, -3.0)}"                                     │

23:19:24 #7663 [Debug] > │     ()                                                                       │

23:19:24 #7664 [Debug] > │ method0()                                                                    │

23:19:24 #7665 [Debug] > │                                                                              │

23:19:24 #7666 [Debug] > │                                                                              │

23:19:24 #7667 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:24 #7668 [Debug] >

23:19:24 #7669 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:24 #7670 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:24 #7671 [Debug] > │ ### <.>                                                                      │

23:19:24 #7672 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:24 #7673 [Debug] >

23:19:24 #7674 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:24 #7675 [Debug] > inl (<.>) { x = ax y = ay z = az } { x = bx y = by z = bz } =

23:19:24 #7676 [Debug] >     ax * bx + ay * by + az * bz

23:19:24 #7677 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2456-5699-5f29d30a6f50\main.spi

23:19:24 #7678 [Debug] >

23:19:24 #7679 [Debug] > ╭─[ 285.66ms - stdout ]────────────────────────────────────────────────────────╮

23:19:24 #7680 [Debug] > │ ()                                                                           │

23:19:24 #7681 [Debug] > │                                                                              │

23:19:24 #7682 [Debug] > │                                                                              │

23:19:24 #7683 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:24 #7684 [Debug] >

23:19:24 #7685 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:24 #7686 [Debug] > // // test

23:19:24 #7687 [Debug] >

23:19:24 #7688 [Debug] > vec 1 2 3 <.> vec 4 5 6

23:19:24 #7689 [Debug] > |> _equal 32

23:19:24 #7690 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2485-8583-84b47714c983\main.spi

23:19:25 #7691 [Debug] >

23:19:25 #7692 [Debug] > ╭─[ 215.75ms - stdout ]────────────────────────────────────────────────────────╮

23:19:25 #7693 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:25 #7694 [Debug] > │     let v0 : string = $"_equal / actual: %A{32.0} / expected: %A{32.0}"      │

23:19:25 #7695 [Debug] > │     ()                                                                       │

23:19:25 #7696 [Debug] > │ method0()                                                                    │

23:19:25 #7697 [Debug] > │                                                                              │

23:19:25 #7698 [Debug] > │                                                                              │

23:19:25 #7699 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:25 #7700 [Debug] >

23:19:25 #7701 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:25 #7702 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:25 #7703 [Debug] > │ ### \>\<                                                                     │

23:19:25 #7704 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:25 #7705 [Debug] >

23:19:25 #7706 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:25 #7707 [Debug] > inl (><) (a : vec) (b : vec) =

23:19:25 #7708 [Debug] >     vec

23:19:25 #7709 [Debug] >         (a.y * b.z - a.z * b.y)

23:19:25 #7710 [Debug] >         (a.z * b.x - a.x * b.z)

23:19:25 #7711 [Debug] >         (a.x * b.y - a.y * b.x)

23:19:25 #7712 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2508-0811-0f681f6369b2\main.spi

23:19:25 #7713 [Debug] >

23:19:25 #7714 [Debug] > ╭─[ 435.23ms - stdout ]────────────────────────────────────────────────────────╮

23:19:25 #7715 [Debug] > │ ()                                                                           │

23:19:25 #7716 [Debug] > │                                                                              │

23:19:25 #7717 [Debug] > │                                                                              │

23:19:25 #7718 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:25 #7719 [Debug] >

23:19:25 #7720 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:25 #7721 [Debug] > // // test

23:19:25 #7722 [Debug] >

23:19:25 #7723 [Debug] > vec 1 2 3 >< vec 4 5 6

23:19:25 #7724 [Debug] > |> _equal (vec -3 6 -3)

23:19:25 #7725 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2551-5185-5f1e6e58e1f9\main.spi

23:19:25 #7726 [Debug] >

23:19:25 #7727 [Debug] > ╭─[ 221.97ms - stdout ]────────────────────────────────────────────────────────╮

23:19:25 #7728 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:25 #7729 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (-3.0, 6.0, -3.0)} /      │

23:19:25 #7730 [Debug] > │ expected: %A{struct (-3.0, 6.0, -3.0)}"                                      │

23:19:25 #7731 [Debug] > │     ()                                                                       │

23:19:25 #7732 [Debug] > │ method0()                                                                    │

23:19:25 #7733 [Debug] > │                                                                              │

23:19:25 #7734 [Debug] > │                                                                              │

23:19:25 #7735 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:25 #7736 [Debug] >

23:19:25 #7737 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:25 #7738 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:25 #7739 [Debug] > │ ### magnitude                                                                │

23:19:25 #7740 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:25 #7741 [Debug] >

23:19:25 #7742 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:25 #7743 [Debug] > inl magnitude v =

23:19:25 #7744 [Debug] >     v <.> v |> sqrt

23:19:25 #7745 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2575-7508-78b7cad07b2f\main.spi

23:19:25 #7746 [Debug] >

23:19:25 #7747 [Debug] > ╭─[ 224.33ms - stdout ]────────────────────────────────────────────────────────╮

23:19:25 #7748 [Debug] > │ ()                                                                           │

23:19:25 #7749 [Debug] > │                                                                              │

23:19:25 #7750 [Debug] > │                                                                              │

23:19:25 #7751 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:25 #7752 [Debug] >

23:19:25 #7753 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:25 #7754 [Debug] > // // test

23:19:25 #7755 [Debug] >

23:19:25 #7756 [Debug] > vec 1 2 3

23:19:25 #7757 [Debug] > |> magnitude

23:19:25 #7758 [Debug] > |> _almost_equal 3.7416573867739413

23:19:26 #7759 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2597-9787-964bcd55b350\main.spi

23:19:26 #7760 [Debug] >

23:19:26 #7761 [Debug] > ╭─[ 200.67ms - stdout ]────────────────────────────────────────────────────────╮

23:19:26 #7762 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:26 #7763 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{3.7416573867739413} /     │

23:19:26 #7764 [Debug] > │ expected: %A{3.7416573867739413}"                                            │

23:19:26 #7765 [Debug] > │     ()                                                                       │

23:19:26 #7766 [Debug] > │ method0()                                                                    │

23:19:26 #7767 [Debug] > │                                                                              │

23:19:26 #7768 [Debug] > │                                                                              │

23:19:26 #7769 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:26 #7770 [Debug] >

23:19:26 #7771 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:26 #7772 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:26 #7773 [Debug] > │ ### v1                                                                       │

23:19:26 #7774 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:26 #7775 [Debug] >

23:19:26 #7776 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:26 #7777 [Debug] > inl v1 t =

23:19:26 #7778 [Debug] >     2 *^ (t ** 2 *^ i_hat () ^+^ 3 *^ (t ** 3 *^ j_hat () ^+^ t ** 4 *^ k_hat

23:19:26 #7779 [Debug] > ()))

23:19:26 #7780 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2618-1858-1ca211db226a\main.spi

23:19:26 #7781 [Debug] >

23:19:26 #7782 [Debug] > ╭─[ 179.06ms - stdout ]────────────────────────────────────────────────────────╮

23:19:26 #7783 [Debug] > │ ()                                                                           │

23:19:26 #7784 [Debug] > │                                                                              │

23:19:26 #7785 [Debug] > │                                                                              │

23:19:26 #7786 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:26 #7787 [Debug] >

23:19:26 #7788 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:26 #7789 [Debug] > // // test

23:19:26 #7790 [Debug] >

23:19:26 #7791 [Debug] > v1 1

23:19:26 #7792 [Debug] > |> _equal (vec 2 6 6)

23:19:26 #7793 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2637-3700-3c0967af0019\main.spi

23:19:26 #7794 [Debug] >

23:19:26 #7795 [Debug] > ╭─[ 218.21ms - stdout ]────────────────────────────────────────────────────────╮

23:19:26 #7796 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:26 #7797 [Debug] > │     let v0 : string = $"_equal / actual: %A{struct (2.0, 6.0, 6.0)} /        │

23:19:26 #7798 [Debug] > │ expected: %A{struct (2.0, 6.0, 6.0)}"                                        │

23:19:26 #7799 [Debug] > │     ()                                                                       │

23:19:26 #7800 [Debug] > │ method0()                                                                    │

23:19:26 #7801 [Debug] > │                                                                              │

23:19:26 #7802 [Debug] > │                                                                              │

23:19:26 #7803 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:26 #7804 [Debug] >

23:19:26 #7805 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:26 #7806 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:26 #7807 [Debug] > │ ### vec_derivative                                                           │

23:19:26 #7808 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:26 #7809 [Debug] >

23:19:26 #7810 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:26 #7811 [Debug] > type vec_derivative = (f64 -> vec) -> f64 -> vec

23:19:26 #7812 [Debug] >

23:19:26 #7813 [Debug] > inl vec_derivative dt : vec_derivative =

23:19:26 #7814 [Debug] >     fun v t =>

23:19:26 #7815 [Debug] >         (v (t + dt / 2) ^-^ v (t - dt / 2)) ^/ dt

23:19:26 #7816 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2660-6007-6d425668e45c\main.spi

23:19:26 #7817 [Debug] >

23:19:26 #7818 [Debug] > ╭─[ 223.62ms - stdout ]────────────────────────────────────────────────────────╮

23:19:26 #7819 [Debug] > │ ()                                                                           │

23:19:26 #7820 [Debug] > │                                                                              │

23:19:26 #7821 [Debug] > │                                                                              │

23:19:26 #7822 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:26 #7823 [Debug] >

23:19:26 #7824 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:26 #7825 [Debug] > // // test

23:19:26 #7826 [Debug] >

23:19:26 #7827 [Debug] > vec_derivative 0.01 v1 3 .x

23:19:26 #7828 [Debug] > |> _almost_equal (derivative 0.01 (v1 >> fun v => v.x) 3)

23:19:26 #7829 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2682-8258-830a1eb5c7a9\main.spi

23:19:27 #7830 [Debug] >

23:19:27 #7831 [Debug] > ╭─[ 207.91ms - stdout ]────────────────────────────────────────────────────────╮

23:19:27 #7832 [Debug] > │ let rec method0 () : unit =                                                  │

23:19:27 #7833 [Debug] > │     let v0 : string = $"_almost_equal / actual: %A{11.999999999999744} /     │

23:19:27 #7834 [Debug] > │ expected: %A{11.999999999999744}"                                            │

23:19:27 #7835 [Debug] > │     ()                                                                       │

23:19:27 #7836 [Debug] > │ method0()                                                                    │

23:19:27 #7837 [Debug] > │                                                                              │

23:19:27 #7838 [Debug] > │                                                                              │

23:19:27 #7839 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:27 #7840 [Debug] >

23:19:27 #7841 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:27 #7842 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:27 #7843 [Debug] > │ ## states_ps                                                                 │

23:19:27 #7844 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:27 #7845 [Debug] >

23:19:27 #7846 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:27 #7847 [Debug] > nominal particle_state =

23:19:27 #7848 [Debug] >     {

23:19:27 #7849 [Debug] >         mass : f64

23:19:27 #7850 [Debug] >         charge : f64

23:19:27 #7851 [Debug] >         time : f64

23:19:27 #7852 [Debug] >         pos_vec : vec

23:19:27 #7853 [Debug] >         velocity : vec

23:19:27 #7854 [Debug] >     }

23:19:27 #7855 [Debug] >

23:19:27 #7856 [Debug] > inl default_particle_state () : particle_state =

23:19:27 #7857 [Debug] >     particle_state {

23:19:27 #7858 [Debug] >         mass = 1

23:19:27 #7859 [Debug] >         charge = 0

23:19:27 #7860 [Debug] >         time = 0

23:19:27 #7861 [Debug] >         pos_vec = zero_vec ()

23:19:27 #7862 [Debug] >         velocity = zero_vec ()

23:19:27 #7863 [Debug] >     }

23:19:27 #7864 [Debug] >

23:19:27 #7865 [Debug] > type one_body_force = particle_state -> vec

23:19:27 #7866 [Debug] >

23:19:27 #7867 [Debug] > nominal d_particle_state =

23:19:27 #7868 [Debug] >     {

23:19:27 #7869 [Debug] >         dmdt : f64

23:19:27 #7870 [Debug] >         dqdt : f64

23:19:27 #7871 [Debug] >         dtdt : f64

23:19:27 #7872 [Debug] >         drdt : vec

23:19:27 #7873 [Debug] >         dvdt : vec

23:19:27 #7874 [Debug] >     }

23:19:27 #7875 [Debug] >

23:19:27 #7876 [Debug] > inl newton_second_ps (fs : list one_body_force) (st : particle_state) :

23:19:27 #7877 [Debug] > d_particle_state =

23:19:27 #7878 [Debug] >     inl f_net = fs |> listm.map (fun f => f st) |> sum_vec

23:19:27 #7879 [Debug] >     d_particle_state {

23:19:27 #7880 [Debug] >         dmdt = 0

23:19:27 #7881 [Debug] >         dqdt = 0

23:19:27 #7882 [Debug] >         dtdt = 1

23:19:27 #7883 [Debug] >         drdt = st.velocity

23:19:27 #7884 [Debug] >         dvdt = f_net ^/ st.mass

23:19:27 #7885 [Debug] >     }

23:19:27 #7886 [Debug] >

23:19:27 #7887 [Debug] > inl earth_surface_gravity (st : particle_state) =

23:19:27 #7888 [Debug] >     inl g = 9.80665

23:19:27 #7889 [Debug] >     -st.mass * g *^ k_hat ()

23:19:27 #7890 [Debug] >

23:19:27 #7891 [Debug] > inl air_resistance drag rho area (st : particle_state) =

23:19:27 #7892 [Debug] >     -0.5 * drag * rho * area * magnitude st.velocity *^ st.velocity

23:19:27 #7893 [Debug] >

23:19:27 #7894 [Debug] > inl euler_cromer_ps dt (deriv : particle_state -> d_particle_state)

23:19:27 #7895 [Debug] > (particle_state st) =

23:19:27 #7896 [Debug] >     inl dst : d_particle_state = deriv (particle_state st)

23:19:27 #7897 [Debug] >     inl v' = st.velocity ^+^ dst.dvdt ^* dt

23:19:27 #7898 [Debug] >     particle_state { st with

23:19:27 #7899 [Debug] >         time = st.time + dt

23:19:27 #7900 [Debug] >         pos_vec = st.pos_vec ^+^ v' ^* dt

23:19:27 #7901 [Debug] >         velocity = st.velocity ^+^ dst.dvdt ^* dt

23:19:27 #7902 [Debug] >     }

23:19:27 #7903 [Debug] >

23:19:27 #7904 [Debug] > instance (+++) d_particle_state = fun (dps : d_particle_state) (dps' :

23:19:27 #7905 [Debug] > d_particle_state) =>

23:19:27 #7906 [Debug] >     d_particle_state {

23:19:27 #7907 [Debug] >         dmdt = dps.dmdt + dps'.dmdt

23:19:27 #7908 [Debug] >         dqdt = dps.dqdt + dps'.dqdt

23:19:27 #7909 [Debug] >         dtdt = dps.dtdt + dps'.dtdt

23:19:27 #7910 [Debug] >         drdt = dps.drdt ^+^ dps'.drdt

23:19:27 #7911 [Debug] >         dvdt = dps.dvdt ^+^ dps'.dvdt

23:19:27 #7912 [Debug] >     }

23:19:27 #7913 [Debug] >

23:19:27 #7914 [Debug] > instance scale d_particle_state = fun w (dps : d_particle_state) =>

23:19:27 #7915 [Debug] >     d_particle_state {

23:19:27 #7916 [Debug] >         dmdt = w * dps.dmdt

23:19:27 #7917 [Debug] >         dqdt = w * dps.dqdt

23:19:27 #7918 [Debug] >         dtdt = w * dps.dtdt

23:19:27 #7919 [Debug] >         drdt = w *^ dps.drdt

23:19:27 #7920 [Debug] >         dvdt = w *^ dps.dvdt

23:19:27 #7921 [Debug] >     }

23:19:27 #7922 [Debug] >

23:19:27 #7923 [Debug] > instance shift particle_state = fun dt dps (particle_state st) =>

23:19:27 #7924 [Debug] >     inl (d_particle_state dps) =

23:19:27 #7925 [Debug] >         real

23:19:27 #7926 [Debug] >             match dps with

23:19:27 #7927 [Debug] >             | d_particle_state _ => dps

23:19:27 #7928 [Debug] >     particle_state { st with

23:19:27 #7929 [Debug] >         time = st.time + dps.dtdt * dt

23:19:27 #7930 [Debug] >         pos_vec = st.pos_vec ^+^ dps.drdt ^* dt

23:19:27 #7931 [Debug] >         velocity = st.velocity ^+^ dps.dvdt ^* dt

23:19:27 #7932 [Debug] >     }

23:19:27 #7933 [Debug] >

23:19:27 #7934 [Debug] > inl states_ps (method : numerical_method particle_state d_particle_state) : _ ->

23:19:27 #7935 [Debug] > _ -> i32 -> particle_state =

23:19:27 #7936 [Debug] >     newton_second_ps >> method >> seq.iterate_

23:19:27 #7937 [Debug] >

23:19:27 #7938 [Debug] > inl z_ge0 sts =

23:19:27 #7939 [Debug] >     sts

23:19:27 #7940 [Debug] >     |> seq.take_while_ (fun (particle_state st) _ => st.pos_vec.z >= 0)

23:19:27 #7941 [Debug] >

23:19:27 #7942 [Debug] > inl trajectory sts =

23:19:27 #7943 [Debug] >     sts |> listm.map (fun (particle_state st) => st.pos_vec.y, st.pos_vec.z)

23:19:27 #7944 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2704-0451-06b3446d9b3d\main.spi

23:19:27 #7945 [Debug] >

23:19:27 #7946 [Debug] > ╭─[ 243.00ms - stdout ]────────────────────────────────────────────────────────╮

23:19:27 #7947 [Debug] > │ ()                                                                           │

23:19:27 #7948 [Debug] > │                                                                              │

23:19:27 #7949 [Debug] > │                                                                              │

23:19:27 #7950 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:27 #7951 [Debug] >

23:19:27 #7952 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:27 #7953 [Debug] > // // test

23:19:27 #7954 [Debug] >

23:19:27 #7955 [Debug] > inl update_ps (method : numerical_method particle_state d_particle_state) =

23:19:27 #7956 [Debug] >     newton_second_ps >> method

23:19:27 #7957 [Debug] >

23:19:27 #7958 [Debug] > inl position_ps (method : numerical_method particle_state d_particle_state) fs

23:19:27 #7959 [Debug] > st t =

23:19:27 #7960 [Debug] >     inl states : i32 -> particle_state = states_ps method fs st

23:19:27 #7961 [Debug] >     inl dt = (states 1).time - (states 0).time

23:19:27 #7962 [Debug] >     inl num_steps = t / dt |> math.round |> abs

23:19:27 #7963 [Debug] >     inl st1 = solver' method (newton_second_ps fs) st num_steps

23:19:27 #7964 [Debug] >     st1.pos_vec

23:19:27 #7965 [Debug] >

23:19:27 #7966 [Debug] > inl sun_gravity (st : particle_state) : vec =

23:19:27 #7967 [Debug] >     inl big_g = 0.0000000000667408

23:19:27 #7968 [Debug] >     inl sun_mass = 1988480000000000000000000000000

23:19:27 #7969 [Debug] >     -big_g * sun_mass * st.mass *^ st.pos_vec ^/ magnitude st.pos_vec ** 3

23:19:27 #7970 [Debug] >

23:19:27 #7971 [Debug] > inl wind_force v_wind drag rho area (st : particle_state) =

23:19:27 #7972 [Debug] >     inl v_rel = st.velocity ^-^ v_wind

23:19:27 #7973 [Debug] >     -0.5 * drag * rho * area * magnitude v_rel *^ v_rel

23:19:27 #7974 [Debug] >

23:19:27 #7975 [Debug] > inl rock_state () =

23:19:27 #7976 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:27 #7977 [Debug] >     particle_state { default_particle_state' with

23:19:27 #7978 [Debug] >         mass = 2

23:19:27 #7979 [Debug] >         velocity = vec 3 0 4

23:19:27 #7980 [Debug] >     }

23:19:27 #7981 [Debug] >

23:19:27 #7982 [Debug] > inl halley_update dt =

23:19:27 #7983 [Debug] >     update_ps (euler_cromer_ps dt) [[ sun_gravity ]]

23:19:27 #7984 [Debug] >

23:19:27 #7985 [Debug] > inl halley_initial () =

23:19:27 #7986 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:27 #7987 [Debug] >     particle_state { default_particle_state' with

23:19:27 #7988 [Debug] >         mass = 220000000000000

23:19:27 #7989 [Debug] >         pos_vec = 87660000000 *^ i_hat ()

23:19:27 #7990 [Debug] >         velocity = 54569 *^ j_hat ()

23:19:27 #7991 [Debug] >     }

23:19:27 #7992 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2728-2893-2440601b97fe\main.spi

23:19:27 #7993 [Debug] >

23:19:27 #7994 [Debug] > ╭─[ 230.51ms - stdout ]────────────────────────────────────────────────────────╮

23:19:27 #7995 [Debug] > │ ()                                                                           │

23:19:27 #7996 [Debug] > │                                                                              │

23:19:27 #7997 [Debug] > │                                                                              │

23:19:27 #7998 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:27 #7999 [Debug] >

23:19:27 #8000 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:27 #8001 [Debug] > // // test

23:19:27 #8002 [Debug] >

23:19:27 #8003 [Debug] > inl baseball_forces () =

23:19:27 #8004 [Debug] >     inl area = pi * (0.074 / 2) ** 2

23:19:27 #8005 [Debug] >     [[

23:19:27 #8006 [Debug] >         earth_surface_gravity

23:19:27 #8007 [Debug] >         air_resistance 0.3 1.225 area

23:19:27 #8008 [Debug] >     ]]

23:19:27 #8009 [Debug] >

23:19:27 #8010 [Debug] > inl baseball_trajectory dt v0 theta_deg =

23:19:27 #8011 [Debug] >     inl theta_rad = theta_deg * pi / 180

23:19:27 #8012 [Debug] >     inl vy0 = v0 * cos theta_rad

23:19:27 #8013 [Debug] >     inl vz0 = v0 * sin theta_rad

23:19:27 #8014 [Debug] >     inl initial_state =

23:19:27 #8015 [Debug] >         particle_state {

23:19:27 #8016 [Debug] >             mass = 0.145

23:19:27 #8017 [Debug] >             charge = 0

23:19:27 #8018 [Debug] >             time = 0

23:19:27 #8019 [Debug] >             pos_vec = zero_vec ()

23:19:27 #8020 [Debug] >             velocity = vec 0 vy0 vz0

23:19:27 #8021 [Debug] >         }

23:19:27 #8022 [Debug] >     states_ps (euler_cromer_ps dt) (baseball_forces ()) initial_state

23:19:27 #8023 [Debug] >     >> Some

23:19:27 #8024 [Debug] >     |> z_ge0

23:19:27 #8025 [Debug] >     |> trajectory

23:19:27 #8026 [Debug] >

23:19:27 #8027 [Debug] > inl baseball_range dt v0 theta_deg =

23:19:27 #8028 [Debug] >     baseball_trajectory dt v0 theta_deg

23:19:27 #8029 [Debug] >     |> listm.fold (fun _ (y, _) => y) 0

23:19:27 #8030 [Debug] >

23:19:27 #8031 [Debug] > inl x : a _ f64 = am'.init_series 10 80 1

23:19:27 #8032 [Debug] > inl y = x |> am.map (baseball_range 0.01 45)

23:19:27 #8033 [Debug] > "range for a baseball hit at 45 m/s",

23:19:27 #8034 [Debug] > "angle above horizontal (degrees)",

23:19:27 #8035 [Debug] > "",

23:19:27 #8036 [Debug] > ;[[ "horizontal range (m)", x, y ]]

23:19:27 #8037 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2752-5236-500db0d2fce2\main.spi

23:19:29 #8038 [Debug] >

23:19:29 #8039 [Debug] > ╭─[ 1.55s - return value ]─────────────────────────────────────────────────────╮

23:19:29 #8040 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:29 #8041 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:29 #8042 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:29 #8043 [Debug] > │ stroke="none"/>                                                              │

23:19:29 #8044 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:29 #8045 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8046 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8047 [Debug] > │ range for a baseball hit at 45 m/s                                           │

23:19:29 #8048 [Debug] > │ </text>                                                                      │

23:19:29 #8049 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="424" x2="55" │

23:19:29 #8050 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8051 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │

23:19:29 #8052 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8053 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:29 #8054 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8055 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │

23:19:29 #8056 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8057 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="84" y1="424" x2="84" │

23:19:29 #8058 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8059 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="91" y1="424" x2="91" │

23:19:29 #8060 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8061 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="98" y1="424" x2="98" │

23:19:29 #8062 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8063 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424"        │

23:19:29 #8064 [Debug] > │ x2="105" y2="75"/>                                                           │

23:19:29 #8065 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="112" y1="424"        │

23:19:29 #8066 [Debug] > │ x2="112" y2="75"/>                                                           │

23:19:29 #8067 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:29 #8068 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:29 #8069 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="127" y1="424"        │

23:19:29 #8070 [Debug] > │ x2="127" y2="75"/>                                                           │

23:19:29 #8071 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="134" y1="424"        │

23:19:29 #8072 [Debug] > │ x2="134" y2="75"/>                                                           │

23:19:29 #8073 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424"        │

23:19:29 #8074 [Debug] > │ x2="141" y2="75"/>                                                           │

23:19:29 #8075 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="148" y1="424"        │

23:19:29 #8076 [Debug] > │ x2="148" y2="75"/>                                                           │

23:19:29 #8077 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="155" y1="424"        │

23:19:29 #8078 [Debug] > │ x2="155" y2="75"/>                                                           │

23:19:29 #8079 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="162" y1="424"        │

23:19:29 #8080 [Debug] > │ x2="162" y2="75"/>                                                           │

23:19:29 #8081 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:29 #8082 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:29 #8083 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="176" y1="424"        │

23:19:29 #8084 [Debug] > │ x2="176" y2="75"/>                                                           │

23:19:29 #8085 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="184" y1="424"        │

23:19:29 #8086 [Debug] > │ x2="184" y2="75"/>                                                           │

23:19:29 #8087 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="191" y1="424"        │

23:19:29 #8088 [Debug] > │ x2="191" y2="75"/>                                                           │

23:19:29 #8089 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="198" y1="424"        │

23:19:29 #8090 [Debug] > │ x2="198" y2="75"/>                                                           │

23:19:29 #8091 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="205" y1="424"        │

23:19:29 #8092 [Debug] > │ x2="205" y2="75"/>                                                           │

23:19:29 #8093 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="212" y1="424"        │

23:19:29 #8094 [Debug] > │ x2="212" y2="75"/>                                                           │

23:19:29 #8095 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:29 #8096 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:29 #8097 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="226" y1="424"        │

23:19:29 #8098 [Debug] > │ x2="226" y2="75"/>                                                           │

23:19:29 #8099 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="233" y1="424"        │

23:19:29 #8100 [Debug] > │ x2="233" y2="75"/>                                                           │

23:19:29 #8101 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="241" y1="424"        │

23:19:29 #8102 [Debug] > │ x2="241" y2="75"/>                                                           │

23:19:29 #8103 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="248" y1="424"        │

23:19:29 #8104 [Debug] > │ x2="248" y2="75"/>                                                           │

23:19:29 #8105 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="255" y1="424"        │

23:19:29 #8106 [Debug] > │ x2="255" y2="75"/>                                                           │

23:19:29 #8107 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="262" y1="424"        │

23:19:29 #8108 [Debug] > │ x2="262" y2="75"/>                                                           │

23:19:29 #8109 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:29 #8110 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:29 #8111 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="276" y1="424"        │

23:19:29 #8112 [Debug] > │ x2="276" y2="75"/>                                                           │

23:19:29 #8113 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="283" y1="424"        │

23:19:29 #8114 [Debug] > │ x2="283" y2="75"/>                                                           │

23:19:29 #8115 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="290" y1="424"        │

23:19:29 #8116 [Debug] > │ x2="290" y2="75"/>                                                           │

23:19:29 #8117 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="298" y1="424"        │

23:19:29 #8118 [Debug] > │ x2="298" y2="75"/>                                                           │

23:19:29 #8119 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="305" y1="424"        │

23:19:29 #8120 [Debug] > │ x2="305" y2="75"/>                                                           │

23:19:29 #8121 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="312" y1="424"        │

23:19:29 #8122 [Debug] > │ x2="312" y2="75"/>                                                           │

23:19:29 #8123 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:29 #8124 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:29 #8125 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="326" y1="424"        │

23:19:29 #8126 [Debug] > │ x2="326" y2="75"/>                                                           │

23:19:29 #8127 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="333" y1="424"        │

23:19:29 #8128 [Debug] > │ x2="333" y2="75"/>                                                           │

23:19:29 #8129 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="340" y1="424"        │

23:19:29 #8130 [Debug] > │ x2="340" y2="75"/>                                                           │

23:19:29 #8131 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="348" y1="424"        │

23:19:29 #8132 [Debug] > │ x2="348" y2="75"/>                                                           │

23:19:29 #8133 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="355" y1="424"        │

23:19:29 #8134 [Debug] > │ x2="355" y2="75"/>                                                           │

23:19:29 #8135 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="362" y1="424"        │

23:19:29 #8136 [Debug] > │ x2="362" y2="75"/>                                                           │

23:19:29 #8137 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:29 #8138 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:29 #8139 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="376" y1="424"        │

23:19:29 #8140 [Debug] > │ x2="376" y2="75"/>                                                           │

23:19:29 #8141 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="383" y1="424"        │

23:19:29 #8142 [Debug] > │ x2="383" y2="75"/>                                                           │

23:19:29 #8143 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="390" y1="424"        │

23:19:29 #8144 [Debug] > │ x2="390" y2="75"/>                                                           │

23:19:29 #8145 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="397" y1="424"        │

23:19:29 #8146 [Debug] > │ x2="397" y2="75"/>                                                           │

23:19:29 #8147 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="405" y1="424"        │

23:19:29 #8148 [Debug] > │ x2="405" y2="75"/>                                                           │

23:19:29 #8149 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="412" y1="424"        │

23:19:29 #8150 [Debug] > │ x2="412" y2="75"/>                                                           │

23:19:29 #8151 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:29 #8152 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:29 #8153 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="426" y1="424"        │

23:19:29 #8154 [Debug] > │ x2="426" y2="75"/>                                                           │

23:19:29 #8155 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="433" y1="424"        │

23:19:29 #8156 [Debug] > │ x2="433" y2="75"/>                                                           │

23:19:29 #8157 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="440" y1="424"        │

23:19:29 #8158 [Debug] > │ x2="440" y2="75"/>                                                           │

23:19:29 #8159 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="447" y1="424"        │

23:19:29 #8160 [Debug] > │ x2="447" y2="75"/>                                                           │

23:19:29 #8161 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="454" y1="424"        │

23:19:29 #8162 [Debug] > │ x2="454" y2="75"/>                                                           │

23:19:29 #8163 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="462" y1="424"        │

23:19:29 #8164 [Debug] > │ x2="462" y2="75"/>                                                           │

23:19:29 #8165 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:29 #8166 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:29 #8167 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424"        │

23:19:29 #8168 [Debug] > │ x2="476" y2="75"/>                                                           │

23:19:29 #8169 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="483" y1="424"        │

23:19:29 #8170 [Debug] > │ x2="483" y2="75"/>                                                           │

23:19:29 #8171 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="490" y1="424"        │

23:19:29 #8172 [Debug] > │ x2="490" y2="75"/>                                                           │

23:19:29 #8173 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="497" y1="424"        │

23:19:29 #8174 [Debug] > │ x2="497" y2="75"/>                                                           │

23:19:29 #8175 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="504" y1="424"        │

23:19:29 #8176 [Debug] > │ x2="504" y2="75"/>                                                           │

23:19:29 #8177 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="511" y1="424"        │

23:19:29 #8178 [Debug] > │ x2="511" y2="75"/>                                                           │

23:19:29 #8179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:29 #8180 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:29 #8181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="526" y1="424"        │

23:19:29 #8182 [Debug] > │ x2="526" y2="75"/>                                                           │

23:19:29 #8183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="533" y1="424"        │

23:19:29 #8184 [Debug] > │ x2="533" y2="75"/>                                                           │

23:19:29 #8185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="540" y1="424"        │

23:19:29 #8186 [Debug] > │ x2="540" y2="75"/>                                                           │

23:19:29 #8187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="547" y1="424"        │

23:19:29 #8188 [Debug] > │ x2="547" y2="75"/>                                                           │

23:19:29 #8189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="554" y1="424"        │

23:19:29 #8190 [Debug] > │ x2="554" y2="75"/>                                                           │

23:19:29 #8191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="561" y1="424"        │

23:19:29 #8192 [Debug] > │ x2="561" y2="75"/>                                                           │

23:19:29 #8193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:29 #8194 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:29 #8195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="576" y1="424"        │

23:19:29 #8196 [Debug] > │ x2="576" y2="75"/>                                                           │

23:19:29 #8197 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="583" y1="424"        │

23:19:29 #8198 [Debug] > │ x2="583" y2="75"/>                                                           │

23:19:29 #8199 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="410"         │

23:19:29 #8200 [Debug] > │ x2="584" y2="410"/>                                                          │

23:19:29 #8201 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="389"         │

23:19:29 #8202 [Debug] > │ x2="584" y2="389"/>                                                          │

23:19:29 #8203 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368"         │

23:19:29 #8204 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:29 #8205 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="347"         │

23:19:29 #8206 [Debug] > │ x2="584" y2="347"/>                                                          │

23:19:29 #8207 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="326"         │

23:19:29 #8208 [Debug] > │ x2="584" y2="326"/>                                                          │

23:19:29 #8209 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="305"         │

23:19:29 #8210 [Debug] > │ x2="584" y2="305"/>                                                          │

23:19:29 #8211 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283"         │

23:19:29 #8212 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:29 #8213 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="262"         │

23:19:29 #8214 [Debug] > │ x2="584" y2="262"/>                                                          │

23:19:29 #8215 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="241"         │

23:19:29 #8216 [Debug] > │ x2="584" y2="241"/>                                                          │

23:19:29 #8217 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="220"         │

23:19:29 #8218 [Debug] > │ x2="584" y2="220"/>                                                          │

23:19:29 #8219 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="199"         │

23:19:29 #8220 [Debug] > │ x2="584" y2="199"/>                                                          │

23:19:29 #8221 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="178"         │

23:19:29 #8222 [Debug] > │ x2="584" y2="178"/>                                                          │

23:19:29 #8223 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="156"         │

23:19:29 #8224 [Debug] > │ x2="584" y2="156"/>                                                          │

23:19:29 #8225 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135"         │

23:19:29 #8226 [Debug] > │ x2="584" y2="135"/>                                                          │

23:19:29 #8227 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="114"         │

23:19:29 #8228 [Debug] > │ x2="584" y2="114"/>                                                          │

23:19:29 #8229 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="93" x2="584" │

23:19:29 #8230 [Debug] > │ y2="93"/>                                                                    │

23:19:29 #8231 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:29 #8232 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8233 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8234 [Debug] > │ angle above horizontal (degrees)                                             │

23:19:29 #8235 [Debug] > │ </text>                                                                      │

23:19:29 #8236 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:29 #8237 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8238 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:29 #8239 [Debug] > │                                                                              │

23:19:29 #8240 [Debug] > │ </text>                                                                      │

23:19:29 #8241 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:29 #8242 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8243 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8244 [Debug] > │ angle above horizontal (degrees)                                             │

23:19:29 #8245 [Debug] > │ </text>                                                                      │

23:19:29 #8246 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8247 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8248 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:29 #8249 [Debug] > │                                                                              │

23:19:29 #8250 [Debug] > │ </text>                                                                      │

23:19:29 #8251 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:29 #8252 [Debug] > │ y2="75"/>                                                                    │

23:19:29 #8253 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="105" y1="424"        │

23:19:29 #8254 [Debug] > │ x2="105" y2="75"/>                                                           │

23:19:29 #8255 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="141" y1="424"        │

23:19:29 #8256 [Debug] > │ x2="141" y2="75"/>                                                           │

23:19:29 #8257 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="176" y1="424"        │

23:19:29 #8258 [Debug] > │ x2="176" y2="75"/>                                                           │

23:19:29 #8259 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="212" y1="424"        │

23:19:29 #8260 [Debug] > │ x2="212" y2="75"/>                                                           │

23:19:29 #8261 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="248" y1="424"        │

23:19:29 #8262 [Debug] > │ x2="248" y2="75"/>                                                           │

23:19:29 #8263 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="283" y1="424"        │

23:19:29 #8264 [Debug] > │ x2="283" y2="75"/>                                                           │

23:19:29 #8265 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:29 #8266 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:29 #8267 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="355" y1="424"        │

23:19:29 #8268 [Debug] > │ x2="355" y2="75"/>                                                           │

23:19:29 #8269 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="390" y1="424"        │

23:19:29 #8270 [Debug] > │ x2="390" y2="75"/>                                                           │

23:19:29 #8271 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="426" y1="424"        │

23:19:29 #8272 [Debug] > │ x2="426" y2="75"/>                                                           │

23:19:29 #8273 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="462" y1="424"        │

23:19:29 #8274 [Debug] > │ x2="462" y2="75"/>                                                           │

23:19:29 #8275 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="497" y1="424"        │

23:19:29 #8276 [Debug] > │ x2="497" y2="75"/>                                                           │

23:19:29 #8277 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="533" y1="424"        │

23:19:29 #8278 [Debug] > │ x2="533" y2="75"/>                                                           │

23:19:29 #8279 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:29 #8280 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:29 #8281 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="410"         │

23:19:29 #8282 [Debug] > │ x2="584" y2="410"/>                                                          │

23:19:29 #8283 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="368"         │

23:19:29 #8284 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:29 #8285 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="326"         │

23:19:29 #8286 [Debug] > │ x2="584" y2="326"/>                                                          │

23:19:29 #8287 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="283"         │

23:19:29 #8288 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:29 #8289 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="241"         │

23:19:29 #8290 [Debug] > │ x2="584" y2="241"/>                                                          │

23:19:29 #8291 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="199"         │

23:19:29 #8292 [Debug] > │ x2="584" y2="199"/>                                                          │

23:19:29 #8293 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="156"         │

23:19:29 #8294 [Debug] > │ x2="584" y2="156"/>                                                          │

23:19:29 #8295 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="114"         │

23:19:29 #8296 [Debug] > │ x2="584" y2="114"/>                                                          │

23:19:29 #8297 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8298 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:29 #8299 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:29 #8300 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8301 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8302 [Debug] > │ 10.0                                                                         │

23:19:29 #8303 [Debug] > │ </text>                                                                      │

23:19:29 #8304 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8305 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:29 #8306 [Debug] > │ <text x="105" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8307 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8308 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8309 [Debug] > │ 15.0                                                                         │

23:19:29 #8310 [Debug] > │ </text>                                                                      │

23:19:29 #8311 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8312 [Debug] > │ points="105,69 105,74 "/>                                                    │

23:19:29 #8313 [Debug] > │ <text x="141" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8314 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8315 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8316 [Debug] > │ 20.0                                                                         │

23:19:29 #8317 [Debug] > │ </text>                                                                      │

23:19:29 #8318 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8319 [Debug] > │ points="141,69 141,74 "/>                                                    │

23:19:29 #8320 [Debug] > │ <text x="176" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8321 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8322 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8323 [Debug] > │ 25.0                                                                         │

23:19:29 #8324 [Debug] > │ </text>                                                                      │

23:19:29 #8325 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8326 [Debug] > │ points="176,69 176,74 "/>                                                    │

23:19:29 #8327 [Debug] > │ <text x="212" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8328 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8329 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8330 [Debug] > │ 30.0                                                                         │

23:19:29 #8331 [Debug] > │ </text>                                                                      │

23:19:29 #8332 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8333 [Debug] > │ points="212,69 212,74 "/>                                                    │

23:19:29 #8334 [Debug] > │ <text x="248" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8335 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8336 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8337 [Debug] > │ 35.0                                                                         │

23:19:29 #8338 [Debug] > │ </text>                                                                      │

23:19:29 #8339 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8340 [Debug] > │ points="248,69 248,74 "/>                                                    │

23:19:29 #8341 [Debug] > │ <text x="283" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8342 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8343 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8344 [Debug] > │ 40.0                                                                         │

23:19:29 #8345 [Debug] > │ </text>                                                                      │

23:19:29 #8346 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8347 [Debug] > │ points="283,69 283,74 "/>                                                    │

23:19:29 #8348 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8349 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8350 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8351 [Debug] > │ 45.0                                                                         │

23:19:29 #8352 [Debug] > │ </text>                                                                      │

23:19:29 #8353 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8354 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:29 #8355 [Debug] > │ <text x="355" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8356 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8357 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8358 [Debug] > │ 50.0                                                                         │

23:19:29 #8359 [Debug] > │ </text>                                                                      │

23:19:29 #8360 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8361 [Debug] > │ points="355,69 355,74 "/>                                                    │

23:19:29 #8362 [Debug] > │ <text x="390" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8363 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8364 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8365 [Debug] > │ 55.0                                                                         │

23:19:29 #8366 [Debug] > │ </text>                                                                      │

23:19:29 #8367 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8368 [Debug] > │ points="390,69 390,74 "/>                                                    │

23:19:29 #8369 [Debug] > │ <text x="426" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8370 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8371 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8372 [Debug] > │ 60.0                                                                         │

23:19:29 #8373 [Debug] > │ </text>                                                                      │

23:19:29 #8374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8375 [Debug] > │ points="426,69 426,74 "/>                                                    │

23:19:29 #8376 [Debug] > │ <text x="462" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8377 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8378 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8379 [Debug] > │ 65.0                                                                         │

23:19:29 #8380 [Debug] > │ </text>                                                                      │

23:19:29 #8381 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8382 [Debug] > │ points="462,69 462,74 "/>                                                    │

23:19:29 #8383 [Debug] > │ <text x="497" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8384 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8385 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8386 [Debug] > │ 70.0                                                                         │

23:19:29 #8387 [Debug] > │ </text>                                                                      │

23:19:29 #8388 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8389 [Debug] > │ points="497,69 497,74 "/>                                                    │

23:19:29 #8390 [Debug] > │ <text x="533" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8391 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8392 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8393 [Debug] > │ 75.0                                                                         │

23:19:29 #8394 [Debug] > │ </text>                                                                      │

23:19:29 #8395 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8396 [Debug] > │ points="533,69 533,74 "/>                                                    │

23:19:29 #8397 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:29 #8398 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8399 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8400 [Debug] > │ 80.0                                                                         │

23:19:29 #8401 [Debug] > │ </text>                                                                      │

23:19:29 #8402 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8403 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:29 #8404 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8405 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:29 #8406 [Debug] > │ <text x="45" y="410" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8407 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8408 [Debug] > │ 40.0                                                                         │

23:19:29 #8409 [Debug] > │ </text>                                                                      │

23:19:29 #8410 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8411 [Debug] > │ points="49,410 54,410 "/>                                                    │

23:19:29 #8412 [Debug] > │ <text x="45" y="368" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8413 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8414 [Debug] > │ 50.0                                                                         │

23:19:29 #8415 [Debug] > │ </text>                                                                      │

23:19:29 #8416 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8417 [Debug] > │ points="49,368 54,368 "/>                                                    │

23:19:29 #8418 [Debug] > │ <text x="45" y="326" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8419 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8420 [Debug] > │ 60.0                                                                         │

23:19:29 #8421 [Debug] > │ </text>                                                                      │

23:19:29 #8422 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8423 [Debug] > │ points="49,326 54,326 "/>                                                    │

23:19:29 #8424 [Debug] > │ <text x="45" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8425 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8426 [Debug] > │ 70.0                                                                         │

23:19:29 #8427 [Debug] > │ </text>                                                                      │

23:19:29 #8428 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8429 [Debug] > │ points="49,283 54,283 "/>                                                    │

23:19:29 #8430 [Debug] > │ <text x="45" y="241" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8431 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8432 [Debug] > │ 80.0                                                                         │

23:19:29 #8433 [Debug] > │ </text>                                                                      │

23:19:29 #8434 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8435 [Debug] > │ points="49,241 54,241 "/>                                                    │

23:19:29 #8436 [Debug] > │ <text x="45" y="199" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8437 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8438 [Debug] > │ 90.0                                                                         │

23:19:29 #8439 [Debug] > │ </text>                                                                      │

23:19:29 #8440 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8441 [Debug] > │ points="49,199 54,199 "/>                                                    │

23:19:29 #8442 [Debug] > │ <text x="45" y="156" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8443 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8444 [Debug] > │ 100.0                                                                        │

23:19:29 #8445 [Debug] > │ </text>                                                                      │

23:19:29 #8446 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8447 [Debug] > │ points="49,156 54,156 "/>                                                    │

23:19:29 #8448 [Debug] > │ <text x="45" y="114" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:29 #8449 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8450 [Debug] > │ 110.0                                                                        │

23:19:29 #8451 [Debug] > │ </text>                                                                      │

23:19:29 #8452 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8453 [Debug] > │ points="49,114 54,114 "/>                                                    │

23:19:29 #8454 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8455 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:29 #8456 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:29 #8457 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8458 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8459 [Debug] > │ 10.0                                                                         │

23:19:29 #8460 [Debug] > │ </text>                                                                      │

23:19:29 #8461 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8462 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:29 #8463 [Debug] > │ <text x="105" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8464 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8465 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8466 [Debug] > │ 15.0                                                                         │

23:19:29 #8467 [Debug] > │ </text>                                                                      │

23:19:29 #8468 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8469 [Debug] > │ points="105,425 105,430 "/>                                                  │

23:19:29 #8470 [Debug] > │ <text x="141" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8471 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8472 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8473 [Debug] > │ 20.0                                                                         │

23:19:29 #8474 [Debug] > │ </text>                                                                      │

23:19:29 #8475 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8476 [Debug] > │ points="141,425 141,430 "/>                                                  │

23:19:29 #8477 [Debug] > │ <text x="176" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8478 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8479 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8480 [Debug] > │ 25.0                                                                         │

23:19:29 #8481 [Debug] > │ </text>                                                                      │

23:19:29 #8482 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8483 [Debug] > │ points="176,425 176,430 "/>                                                  │

23:19:29 #8484 [Debug] > │ <text x="212" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8485 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8486 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8487 [Debug] > │ 30.0                                                                         │

23:19:29 #8488 [Debug] > │ </text>                                                                      │

23:19:29 #8489 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8490 [Debug] > │ points="212,425 212,430 "/>                                                  │

23:19:29 #8491 [Debug] > │ <text x="248" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8492 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8493 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8494 [Debug] > │ 35.0                                                                         │

23:19:29 #8495 [Debug] > │ </text>                                                                      │

23:19:29 #8496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8497 [Debug] > │ points="248,425 248,430 "/>                                                  │

23:19:29 #8498 [Debug] > │ <text x="283" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8499 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8500 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8501 [Debug] > │ 40.0                                                                         │

23:19:29 #8502 [Debug] > │ </text>                                                                      │

23:19:29 #8503 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8504 [Debug] > │ points="283,425 283,430 "/>                                                  │

23:19:29 #8505 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8506 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8507 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8508 [Debug] > │ 45.0                                                                         │

23:19:29 #8509 [Debug] > │ </text>                                                                      │

23:19:29 #8510 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8511 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:29 #8512 [Debug] > │ <text x="355" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8513 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8514 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8515 [Debug] > │ 50.0                                                                         │

23:19:29 #8516 [Debug] > │ </text>                                                                      │

23:19:29 #8517 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8518 [Debug] > │ points="355,425 355,430 "/>                                                  │

23:19:29 #8519 [Debug] > │ <text x="390" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8520 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8521 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8522 [Debug] > │ 55.0                                                                         │

23:19:29 #8523 [Debug] > │ </text>                                                                      │

23:19:29 #8524 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8525 [Debug] > │ points="390,425 390,430 "/>                                                  │

23:19:29 #8526 [Debug] > │ <text x="426" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8527 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8528 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8529 [Debug] > │ 60.0                                                                         │

23:19:29 #8530 [Debug] > │ </text>                                                                      │

23:19:29 #8531 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8532 [Debug] > │ points="426,425 426,430 "/>                                                  │

23:19:29 #8533 [Debug] > │ <text x="462" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8534 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8535 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8536 [Debug] > │ 65.0                                                                         │

23:19:29 #8537 [Debug] > │ </text>                                                                      │

23:19:29 #8538 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8539 [Debug] > │ points="462,425 462,430 "/>                                                  │

23:19:29 #8540 [Debug] > │ <text x="497" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8541 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8542 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8543 [Debug] > │ 70.0                                                                         │

23:19:29 #8544 [Debug] > │ </text>                                                                      │

23:19:29 #8545 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8546 [Debug] > │ points="497,425 497,430 "/>                                                  │

23:19:29 #8547 [Debug] > │ <text x="533" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8548 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8549 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8550 [Debug] > │ 75.0                                                                         │

23:19:29 #8551 [Debug] > │ </text>                                                                      │

23:19:29 #8552 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8553 [Debug] > │ points="533,425 533,430 "/>                                                  │

23:19:29 #8554 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:29 #8555 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8556 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8557 [Debug] > │ 80.0                                                                         │

23:19:29 #8558 [Debug] > │ </text>                                                                      │

23:19:29 #8559 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8560 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:29 #8561 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8562 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:29 #8563 [Debug] > │ <text x="622" y="410" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:29 #8564 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8565 [Debug] > │ 40.0                                                                         │

23:19:29 #8566 [Debug] > │ </text>                                                                      │

23:19:29 #8567 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8568 [Debug] > │ points="585,410 590,410 "/>                                                  │

23:19:29 #8569 [Debug] > │ <text x="622" y="368" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:29 #8570 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8571 [Debug] > │ 50.0                                                                         │

23:19:29 #8572 [Debug] > │ </text>                                                                      │

23:19:29 #8573 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8574 [Debug] > │ points="585,368 590,368 "/>                                                  │

23:19:29 #8575 [Debug] > │ <text x="622" y="326" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:29 #8576 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8577 [Debug] > │ 60.0                                                                         │

23:19:29 #8578 [Debug] > │ </text>                                                                      │

23:19:29 #8579 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8580 [Debug] > │ points="585,326 590,326 "/>                                                  │

23:19:29 #8581 [Debug] > │ <text x="622" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:29 #8582 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8583 [Debug] > │ 70.0                                                                         │

23:19:29 #8584 [Debug] > │ </text>                                                                      │

23:19:29 #8585 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8586 [Debug] > │ points="585,283 590,283 "/>                                                  │

23:19:29 #8587 [Debug] > │ <text x="622" y="241" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:29 #8588 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8589 [Debug] > │ 80.0                                                                         │

23:19:29 #8590 [Debug] > │ </text>                                                                      │

23:19:29 #8591 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8592 [Debug] > │ points="585,241 590,241 "/>                                                  │

23:19:29 #8593 [Debug] > │ <text x="622" y="199" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:29 #8594 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:29 #8595 [Debug] > │ 90.0                                                                         │

23:19:29 #8596 [Debug] > │ </text>                                                                      │

23:19:29 #8597 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8598 [Debug] > │ points="585,199 590,199 "/>                                                  │

23:19:29 #8599 [Debug] > │ <text x="595" y="156" dy="0.5ex" text-anchor="start"                         │

23:19:29 #8600 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8601 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8602 [Debug] > │ 100.0                                                                        │

23:19:29 #8603 [Debug] > │ </text>                                                                      │

23:19:29 #8604 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8605 [Debug] > │ points="585,156 590,156 "/>                                                  │

23:19:29 #8606 [Debug] > │ <text x="595" y="114" dy="0.5ex" text-anchor="start"                         │

23:19:29 #8607 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8608 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8609 [Debug] > │ 110.0                                                                        │

23:19:29 #8610 [Debug] > │ </text>                                                                      │

23:19:29 #8611 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:29 #8612 [Debug] > │ points="585,114 590,114 "/>                                                  │

23:19:29 #8613 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:29 #8614 [Debug] > │ points="69,343 77,325 84,307 91,290 98,275 105,259 112,245 119,231 127,219   │

23:19:29 #8615 [Debug] > │ 134,207 141,196 148,184 155,174 162,164 169,155 176,147 184,139 191,132      │

23:19:29 #8616 [Debug] > │ 198,126 205,119 212,114 219,109 226,104 233,100 241,96 248,93 255,91 262,89  │

23:19:29 #8617 [Debug] > │ 269,88 276,86 283,86 290,85 298,86 305,87 312,88 319,90 326,92 333,95 340,98 │

23:19:29 #8618 [Debug] > │ 348,102 355,106 362,110 369,115 376,120 383,126 390,132 397,139 405,146      │

23:19:29 #8619 [Debug] > │ 412,153 419,161 426,169 433,178 440,187 447,197 454,207 462,217 469,228      │

23:19:29 #8620 [Debug] > │ 476,239 483,250 490,262 497,274 504,287 511,300 519,313 526,326 533,340      │

23:19:29 #8621 [Debug] > │ 540,355 547,369 554,384 561,399 569,415 "/>                                  │

23:19:29 #8622 [Debug] > │ <rect x="421" y="235" width="159" height="30" opacity="1" fill="none"        │

23:19:29 #8623 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:29 #8624 [Debug] > │ <text x="461" y="245" dy="0.76em" text-anchor="start"                        │

23:19:29 #8625 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:29 #8626 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:29 #8627 [Debug] > │ horizontal range (m)                                                         │

23:19:29 #8628 [Debug] > │ </text>                                                                      │

23:19:29 #8629 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:29 #8630 [Debug] > │ points="431,250 451,250 "/>                                                  │

23:19:29 #8631 [Debug] > │ </svg>                                                                       │

23:19:29 #8632 [Debug] > │                                                                              │

23:19:29 #8633 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:29 #8634 [Debug] >

23:19:29 #8635 [Debug] > ╭─[ 2.11s - stdout ]───────────────────────────────────────────────────────────╮

23:19:29 #8636 [Debug] > │ type Mut0 = {mutable l0 : int32}                                             │

23:19:29 #8637 [Debug] > │ and UH0 =                                                                    │

23:19:29 #8638 [Debug] > │     | UH0_0 of float * float * float * float * float * float * float * float │

23:19:29 #8639 [Debug] > │ * float * UH0                                                                │

23:19:29 #8640 [Debug] > │     | UH0_1                                                                  │

23:19:29 #8641 [Debug] > │ and UH1 =                                                                    │

23:19:29 #8642 [Debug] > │     | UH1_0 of float * float * UH1                                           │

23:19:29 #8643 [Debug] > │     | UH1_1                                                                  │

23:19:29 #8644 [Debug] > │ let rec method1 (v0 : Mut0) : bool =                                         │

23:19:29 #8645 [Debug] > │     let v1 : int32 = v0.l0                                                   │

23:19:29 #8646 [Debug] > │     let v2 : bool = v1 < 71                                                  │

23:19:29 #8647 [Debug] > │     v2                                                                       │

23:19:29 #8648 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool =                                 │

23:19:29 #8649 [Debug] > │     let v2 : int32 = v1.l0                                                   │

23:19:29 #8650 [Debug] > │     let v3 : bool = v2 < v0                                                  │

23:19:29 #8651 [Debug] > │     v3                                                                       │

23:19:29 #8652 [Debug] > │ and method4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5  │

23:19:29 #8653 [Debug] > │ : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float *   │

23:19:29 #8654 [Debug] > │ float * float * float * float * float * float * float * float) =             │

23:19:29 #8655 [Debug] > │     let v10 : bool = v9 <= 0                                                 │

23:19:29 #8656 [Debug] > │     if v10 then                                                              │

23:19:29 #8657 [Debug] > │         struct (v0, v1, v2, v3, v4, v5, v6, v7, v8)                          │

23:19:29 #8658 [Debug] > │     else                                                                     │

23:19:29 #8659 [Debug] > │         let v11 : float = v6 * v6                                            │

23:19:29 #8660 [Debug] > │         let v12 : float = v7 * v7                                            │

23:19:29 #8661 [Debug] > │         let v13 : float = v11 + v12                                          │

23:19:29 #8662 [Debug] > │         let v14 : float = v8 * v8                                            │

23:19:29 #8663 [Debug] > │         let v15 : float = v13 + v14                                          │

23:19:29 #8664 [Debug] > │         let v16 : float = sqrt v15                                           │

23:19:29 #8665 [Debug] > │         let v17 : float = -0.0007902794129829633 * v16                       │

23:19:29 #8666 [Debug] > │         let v18 : float = v17 * v6                                           │

23:19:29 #8667 [Debug] > │         let v19 : float = v17 * v7                                           │

23:19:29 #8668 [Debug] > │         let v20 : float = v17 * v8                                           │

23:19:29 #8669 [Debug] > │         let v21 : float =  -v1                                               │

23:19:29 #8670 [Debug] > │         let v22 : float = v21 * 9.80665                                      │

23:19:29 #8671 [Debug] > │         let v23 : float = v22 * 0.0                                          │

23:19:29 #8672 [Debug] > │         let v24 : float = v23 + v18                                          │

23:19:29 #8673 [Debug] > │         let v25 : float = v23 + v19                                          │

23:19:29 #8674 [Debug] > │         let v26 : float = v22 + v20                                          │

23:19:29 #8675 [Debug] > │         let v27 : float = v24 / v1                                           │

23:19:29 #8676 [Debug] > │         let v28 : float = v25 / v1                                           │

23:19:29 #8677 [Debug] > │         let v29 : float = v26 / v1                                           │

23:19:29 #8678 [Debug] > │         let v30 : float = 0.01 * v27                                         │

23:19:29 #8679 [Debug] > │         let v31 : float = 0.01 * v28                                         │

23:19:29 #8680 [Debug] > │         let v32 : float = 0.01 * v29                                         │

23:19:29 #8681 [Debug] > │         let v33 : float = v6 + v30                                           │

23:19:29 #8682 [Debug] > │         let v34 : float = v7 + v31                                           │

23:19:29 #8683 [Debug] > │         let v35 : float = v8 + v32                                           │

23:19:29 #8684 [Debug] > │         let v36 : float = v5 + 0.01                                          │

23:19:29 #8685 [Debug] > │         let v37 : float = 0.01 * v33                                         │

23:19:29 #8686 [Debug] > │         let v38 : float = 0.01 * v34                                         │

23:19:29 #8687 [Debug] > │         let v39 : float = 0.01 * v35                                         │

23:19:29 #8688 [Debug] > │         let v40 : float = v2 + v37                                           │

23:19:29 #8689 [Debug] > │         let v41 : float = v3 + v38                                           │

23:19:29 #8690 [Debug] > │         let v42 : float = v4 + v39                                           │

23:19:29 #8691 [Debug] > │         let v43 : int32 = v9 - 1                                             │

23:19:29 #8692 [Debug] > │         method4(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43)              │

23:19:29 #8693 [Debug] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 =                                     │

23:19:29 #8694 [Debug] > │     match v0 with                                                            │

23:19:29 #8695 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:29 #8696 [Debug] > │         let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1)       │

23:19:29 #8697 [Debug] > │         method5(v11, v12)                                                    │

23:19:29 #8698 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:29 #8699 [Debug] > │         v1                                                                   │

23:19:29 #8700 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 =           │

23:19:29 #8701 [Debug] > │     let v4 : float = 0.0                                                     │

23:19:29 #8702 [Debug] > │     let v5 : float = 0.145                                                   │

23:19:29 #8703 [Debug] > │     let v6 : float = 0.0                                                     │

23:19:29 #8704 [Debug] > │     let v7 : float = 0.0                                                     │

23:19:29 #8705 [Debug] > │     let v8 : float = 0.0                                                     │

23:19:29 #8706 [Debug] > │     let v9 : float = 0.0                                                     │

23:19:29 #8707 [Debug] > │     let v10 : float = 0.0                                                    │

23:19:29 #8708 [Debug] > │     let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 :    │

23:19:29 #8709 [Debug] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method4(v4, v5, │

23:19:29 #8710 [Debug] > │ v6, v7, v8, v9, v10, v0, v1, v3)                                             │

23:19:29 #8711 [Debug] > │     let v20 : bool = v15 >= 0.0                                              │

23:19:29 #8712 [Debug] > │     if v20 then                                                              │

23:19:29 #8713 [Debug] > │         let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19,   │

23:19:29 #8714 [Debug] > │ v2)                                                                          │

23:19:29 #8715 [Debug] > │         let v22 : int32 = v3 + 1                                             │

23:19:29 #8716 [Debug] > │         method3(v0, v1, v21, v22)                                            │

23:19:29 #8717 [Debug] > │     else                                                                     │

23:19:29 #8718 [Debug] > │         let v24 : UH0 = UH0_1                                                │

23:19:29 #8719 [Debug] > │         method5(v2, v24)                                                     │

23:19:29 #8720 [Debug] > │ and method6 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:29 #8721 [Debug] > │     match v0 with                                                            │

23:19:29 #8722 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:29 #8723 [Debug] > │         let v12 : UH1 = method6(v11, v1)                                     │

23:19:29 #8724 [Debug] > │         UH1_0(v5, v6, v12)                                                   │

23:19:29 #8725 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:29 #8726 [Debug] > │         v1                                                                   │

23:19:29 #8727 [Debug] > │ and method7 (v0 : UH1, v1 : float) : float =                                 │

23:19:29 #8728 [Debug] > │     match v0 with                                                            │

23:19:29 #8729 [Debug] > │     | UH1_0(v2, v3, v4) -> (* Cons *)                                        │

23:19:29 #8730 [Debug] > │         method7(v4, v2)                                                      │

23:19:29 #8731 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:29 #8732 [Debug] > │         v1                                                                   │

23:19:29 #8733 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:29 #8734 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:29 #8735 [Debug] > │     let v0 : (float []) = Array.zeroCreate<float> (71)                       │

23:19:29 #8736 [Debug] > │     let v1 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:29 #8737 [Debug] > │     while method1(v1) do                                                     │

23:19:29 #8738 [Debug] > │         let v3 : int32 = v1.l0                                               │

23:19:29 #8739 [Debug] > │         let v4 : float = float v3                                            │

23:19:29 #8740 [Debug] > │         let v5 : float = 10.0 + v4                                           │

23:19:29 #8741 [Debug] > │         v0.[int v3] <- v5                                                    │

23:19:29 #8742 [Debug] > │         let v6 : int32 = v3 + 1                                              │

23:19:29 #8743 [Debug] > │         v1.l0 <- v6                                                          │

23:19:29 #8744 [Debug] > │         ()                                                                   │

23:19:29 #8745 [Debug] > │     let v7 : int32 = v0.Length                                               │

23:19:29 #8746 [Debug] > │     let v8 : (float []) = Array.zeroCreate<float> (v7)                       │

23:19:29 #8747 [Debug] > │     let v9 : Mut0 = {l0 = 0} : Mut0                                          │

23:19:29 #8748 [Debug] > │     while method2(v7, v9) do                                                 │

23:19:29 #8749 [Debug] > │         let v11 : int32 = v9.l0                                              │

23:19:29 #8750 [Debug] > │         let v12 : float = v0.[int v11]                                       │

23:19:29 #8751 [Debug] > │         let v13 : float = v12 * 3.141592653589793                            │

23:19:29 #8752 [Debug] > │         let v14 : float = v13 / 180.0                                        │

23:19:29 #8753 [Debug] > │         let v15 : float = cos v14                                            │

23:19:29 #8754 [Debug] > │         let v16 : float = 45.0 * v15                                         │

23:19:29 #8755 [Debug] > │         let v17 : float = sin v14                                            │

23:19:29 #8756 [Debug] > │         let v18 : float = 45.0 * v17                                         │

23:19:29 #8757 [Debug] > │         let v19 : UH0 = UH0_1                                                │

23:19:29 #8758 [Debug] > │         let v20 : int32 = 0                                                  │

23:19:29 #8759 [Debug] > │         let v21 : UH0 = method3(v16, v18, v19, v20)                          │

23:19:29 #8760 [Debug] > │         let v22 : UH1 = UH1_1                                                │

23:19:29 #8761 [Debug] > │         let v23 : UH1 = method6(v21, v22)                                    │

23:19:29 #8762 [Debug] > │         let v24 : float = 0.0                                                │

23:19:29 #8763 [Debug] > │         let v25 : float = method7(v23, v24)                                  │

23:19:29 #8764 [Debug] > │         v8.[int v11] <- v25                                                  │

23:19:29 #8765 [Debug] > │         let v26 : int32 = v11 + 1                                            │

23:19:29 #8766 [Debug] > │         v9.l0 <- v26                                                         │

23:19:29 #8767 [Debug] > │         ()                                                                   │

23:19:29 #8768 [Debug] > │     let v27 : string = "horizontal range (m)"                                │

23:19:29 #8769 [Debug] > │     let v28 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:29 #8770 [Debug] > │ (v27, v0, v8)|]                                                              │

23:19:29 #8771 [Debug] > │     let v29 : string = "range for a baseball hit at 45 m/s"                  │

23:19:29 #8772 [Debug] > │     let v30 : string = "angle above horizontal (degrees)"                    │

23:19:29 #8773 [Debug] > │     let v31 : string = ""                                                    │

23:19:29 #8774 [Debug] > │     struct (v29, v30, v31, v28)                                              │

23:19:29 #8775 [Debug] > │ method0()                                                                    │

23:19:29 #8776 [Debug] > │                                                                              │

23:19:29 #8777 [Debug] > │                                                                              │

23:19:29 #8778 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:29 #8779 [Debug] >

23:19:29 #8780 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:29 #8781 [Debug] > // // test

23:19:29 #8782 [Debug] >

23:19:29 #8783 [Debug] > inl best_angle (min, max) =

23:19:29 #8784 [Debug] >     let rec loop theta_deg (best_range, best_theta_deg) =

23:19:29 #8785 [Debug] >         if theta_deg > max

23:19:29 #8786 [Debug] >         then best_range, best_theta_deg

23:19:29 #8787 [Debug] >         else

23:19:29 #8788 [Debug] >             inl range = baseball_range 0.01 45 theta_deg

23:19:29 #8789 [Debug] >             loop

23:19:29 #8790 [Debug] >                 (theta_deg + 1)

23:19:29 #8791 [Debug] >                 (if range > best_range

23:19:29 #8792 [Debug] >                     then range, theta_deg

23:19:29 #8793 [Debug] >                     else best_range, best_theta_deg)

23:19:29 #8794 [Debug] >     loop min (0f64, min)

23:19:29 #8795 [Debug] >

23:19:29 #8796 [Debug] > best_angle (30f64, 60f64)

23:19:29 #8797 [Debug] > |> _equal (116.77499158246208, 41)

23:19:29 #8798 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2976-7628-7451856a2f84\main.spi

23:19:31 #8799 [Debug] >

23:19:31 #8800 [Debug] > ╭─[ 1.47s - stdout ]───────────────────────────────────────────────────────────╮

23:19:31 #8801 [Debug] > │ type UH0 =                                                                   │

23:19:31 #8802 [Debug] > │     | UH0_0 of float * float * float * float * float * float * float * float │

23:19:31 #8803 [Debug] > │ * float * UH0                                                                │

23:19:31 #8804 [Debug] > │     | UH0_1                                                                  │

23:19:31 #8805 [Debug] > │ and UH1 =                                                                    │

23:19:31 #8806 [Debug] > │     | UH1_0 of float * float * UH1                                           │

23:19:31 #8807 [Debug] > │     | UH1_1                                                                  │

23:19:31 #8808 [Debug] > │ let rec method3 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, │

23:19:31 #8809 [Debug] > │ v5 : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float  │

23:19:31 #8810 [Debug] > │ * float * float * float * float * float * float * float * float) =           │

23:19:31 #8811 [Debug] > │     let v10 : bool = v9 <= 0                                                 │

23:19:31 #8812 [Debug] > │     if v10 then                                                              │

23:19:31 #8813 [Debug] > │         struct (v0, v1, v2, v3, v4, v5, v6, v7, v8)                          │

23:19:31 #8814 [Debug] > │     else                                                                     │

23:19:31 #8815 [Debug] > │         let v11 : float = v6 * v6                                            │

23:19:31 #8816 [Debug] > │         let v12 : float = v7 * v7                                            │

23:19:31 #8817 [Debug] > │         let v13 : float = v11 + v12                                          │

23:19:31 #8818 [Debug] > │         let v14 : float = v8 * v8                                            │

23:19:31 #8819 [Debug] > │         let v15 : float = v13 + v14                                          │

23:19:31 #8820 [Debug] > │         let v16 : float = sqrt v15                                           │

23:19:31 #8821 [Debug] > │         let v17 : float = -0.0007902794129829633 * v16                       │

23:19:31 #8822 [Debug] > │         let v18 : float = v17 * v6                                           │

23:19:31 #8823 [Debug] > │         let v19 : float = v17 * v7                                           │

23:19:31 #8824 [Debug] > │         let v20 : float = v17 * v8                                           │

23:19:31 #8825 [Debug] > │         let v21 : float =  -v1                                               │

23:19:31 #8826 [Debug] > │         let v22 : float = v21 * 9.80665                                      │

23:19:31 #8827 [Debug] > │         let v23 : float = v22 * 0.0                                          │

23:19:31 #8828 [Debug] > │         let v24 : float = v23 + v18                                          │

23:19:31 #8829 [Debug] > │         let v25 : float = v23 + v19                                          │

23:19:31 #8830 [Debug] > │         let v26 : float = v22 + v20                                          │

23:19:31 #8831 [Debug] > │         let v27 : float = v24 / v1                                           │

23:19:31 #8832 [Debug] > │         let v28 : float = v25 / v1                                           │

23:19:31 #8833 [Debug] > │         let v29 : float = v26 / v1                                           │

23:19:31 #8834 [Debug] > │         let v30 : float = 0.01 * v27                                         │

23:19:31 #8835 [Debug] > │         let v31 : float = 0.01 * v28                                         │

23:19:31 #8836 [Debug] > │         let v32 : float = 0.01 * v29                                         │

23:19:31 #8837 [Debug] > │         let v33 : float = v6 + v30                                           │

23:19:31 #8838 [Debug] > │         let v34 : float = v7 + v31                                           │

23:19:31 #8839 [Debug] > │         let v35 : float = v8 + v32                                           │

23:19:31 #8840 [Debug] > │         let v36 : float = v5 + 0.01                                          │

23:19:31 #8841 [Debug] > │         let v37 : float = 0.01 * v33                                         │

23:19:31 #8842 [Debug] > │         let v38 : float = 0.01 * v34                                         │

23:19:31 #8843 [Debug] > │         let v39 : float = 0.01 * v35                                         │

23:19:31 #8844 [Debug] > │         let v40 : float = v2 + v37                                           │

23:19:31 #8845 [Debug] > │         let v41 : float = v3 + v38                                           │

23:19:31 #8846 [Debug] > │         let v42 : float = v4 + v39                                           │

23:19:31 #8847 [Debug] > │         let v43 : int32 = v9 - 1                                             │

23:19:31 #8848 [Debug] > │         method3(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43)              │

23:19:31 #8849 [Debug] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 =                                     │

23:19:31 #8850 [Debug] > │     match v0 with                                                            │

23:19:31 #8851 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:31 #8852 [Debug] > │         let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1)       │

23:19:31 #8853 [Debug] > │         method4(v11, v12)                                                    │

23:19:31 #8854 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:31 #8855 [Debug] > │         v1                                                                   │

23:19:31 #8856 [Debug] > │ and method2 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 =           │

23:19:31 #8857 [Debug] > │     let v4 : float = 0.0                                                     │

23:19:31 #8858 [Debug] > │     let v5 : float = 0.145                                                   │

23:19:31 #8859 [Debug] > │     let v6 : float = 0.0                                                     │

23:19:31 #8860 [Debug] > │     let v7 : float = 0.0                                                     │

23:19:31 #8861 [Debug] > │     let v8 : float = 0.0                                                     │

23:19:31 #8862 [Debug] > │     let v9 : float = 0.0                                                     │

23:19:31 #8863 [Debug] > │     let v10 : float = 0.0                                                    │

23:19:31 #8864 [Debug] > │     let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 :    │

23:19:31 #8865 [Debug] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method3(v4, v5, │

23:19:31 #8866 [Debug] > │ v6, v7, v8, v9, v10, v0, v1, v3)                                             │

23:19:31 #8867 [Debug] > │     let v20 : bool = v15 >= 0.0                                              │

23:19:31 #8868 [Debug] > │     if v20 then                                                              │

23:19:31 #8869 [Debug] > │         let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19,   │

23:19:31 #8870 [Debug] > │ v2)                                                                          │

23:19:31 #8871 [Debug] > │         let v22 : int32 = v3 + 1                                             │

23:19:31 #8872 [Debug] > │         method2(v0, v1, v21, v22)                                            │

23:19:31 #8873 [Debug] > │     else                                                                     │

23:19:31 #8874 [Debug] > │         let v24 : UH0 = UH0_1                                                │

23:19:31 #8875 [Debug] > │         method4(v2, v24)                                                     │

23:19:31 #8876 [Debug] > │ and method5 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:31 #8877 [Debug] > │     match v0 with                                                            │

23:19:31 #8878 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:31 #8879 [Debug] > │         let v12 : UH1 = method5(v11, v1)                                     │

23:19:31 #8880 [Debug] > │         UH1_0(v5, v6, v12)                                                   │

23:19:31 #8881 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:31 #8882 [Debug] > │         v1                                                                   │

23:19:31 #8883 [Debug] > │ and method6 (v0 : UH1, v1 : float) : float =                                 │

23:19:31 #8884 [Debug] > │     match v0 with                                                            │

23:19:31 #8885 [Debug] > │     | UH1_0(v2, v3, v4) -> (* Cons *)                                        │

23:19:31 #8886 [Debug] > │         method6(v4, v2)                                                      │

23:19:31 #8887 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:31 #8888 [Debug] > │         v1                                                                   │

23:19:31 #8889 [Debug] > │ and method1 (v0 : float, v1 : float, v2 : float) : struct (float * float) =  │

23:19:31 #8890 [Debug] > │     let v3 : bool = v0 > 60.0                                                │

23:19:31 #8891 [Debug] > │     if v3 then                                                               │

23:19:31 #8892 [Debug] > │         struct (v2, v1)                                                      │

23:19:31 #8893 [Debug] > │     else                                                                     │

23:19:31 #8894 [Debug] > │         let v4 : float = v0 * 3.141592653589793                              │

23:19:31 #8895 [Debug] > │         let v5 : float = v4 / 180.0                                          │

23:19:31 #8896 [Debug] > │         let v6 : float = cos v5                                              │

23:19:31 #8897 [Debug] > │         let v7 : float = 45.0 * v6                                           │

23:19:31 #8898 [Debug] > │         let v8 : float = sin v5                                              │

23:19:31 #8899 [Debug] > │         let v9 : float = 45.0 * v8                                           │

23:19:31 #8900 [Debug] > │         let v10 : UH0 = UH0_1                                                │

23:19:31 #8901 [Debug] > │         let v11 : int32 = 0                                                  │

23:19:31 #8902 [Debug] > │         let v12 : UH0 = method2(v7, v9, v10, v11)                            │

23:19:31 #8903 [Debug] > │         let v13 : UH1 = UH1_1                                                │

23:19:31 #8904 [Debug] > │         let v14 : UH1 = method5(v12, v13)                                    │

23:19:31 #8905 [Debug] > │         let v15 : float = 0.0                                                │

23:19:31 #8906 [Debug] > │         let v16 : float = method6(v14, v15)                                  │

23:19:31 #8907 [Debug] > │         let v17 : float = v0 + 1.0                                           │

23:19:31 #8908 [Debug] > │         let v18 : bool = v16 > v2                                            │

23:19:31 #8909 [Debug] > │         let struct (v19 : float, v20 : float) =                              │

23:19:31 #8910 [Debug] > │             if v18 then                                                      │

23:19:31 #8911 [Debug] > │                 struct (v16, v0)                                             │

23:19:31 #8912 [Debug] > │             else                                                             │

23:19:31 #8913 [Debug] > │                 struct (v2, v1)                                              │

23:19:31 #8914 [Debug] > │         method1(v17, v20, v19)                                               │

23:19:31 #8915 [Debug] > │ and method0 () : unit =                                                      │

23:19:31 #8916 [Debug] > │     let v0 : float = 30.0                                                    │

23:19:31 #8917 [Debug] > │     let v1 : float = 0.0                                                     │

23:19:31 #8918 [Debug] > │     let v2 : float = 30.0                                                    │

23:19:31 #8919 [Debug] > │     let struct (v3 : float, v4 : float) = method1(v0, v2, v1)                │

23:19:31 #8920 [Debug] > │     let v5 : bool = v3 = 116.77499158246208                                  │

23:19:31 #8921 [Debug] > │     let v7 : bool =                                                          │

23:19:31 #8922 [Debug] > │         if v5 then                                                           │

23:19:31 #8923 [Debug] > │             let v6 : bool = v4 = 41.0                                        │

23:19:31 #8924 [Debug] > │             v6                                                               │

23:19:31 #8925 [Debug] > │         else                                                                 │

23:19:31 #8926 [Debug] > │             false                                                            │

23:19:31 #8927 [Debug] > │     let v8 : string = $"_equal / actual: %A{struct (v3, v4)} / expected:     │

23:19:31 #8928 [Debug] > │ %A{struct (116.77499158246208, 41.0)}"                                       │

23:19:31 #8929 [Debug] > │     let v9 : bool = v7 = false                                               │

23:19:31 #8930 [Debug] > │     if v9 then                                                               │

23:19:31 #8931 [Debug] > │         failwith<unit> v8                                                    │

23:19:31 #8932 [Debug] > │ method0()                                                                    │

23:19:31 #8933 [Debug] > │                                                                              │

23:19:31 #8934 [Debug] > │                                                                              │

23:19:31 #8935 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:31 #8936 [Debug] >

23:19:31 #8937 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:31 #8938 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:31 #8939 [Debug] > │ ## relativity_ps                                                             │

23:19:31 #8940 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:31 #8941 [Debug] >

23:19:31 #8942 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:31 #8943 [Debug] > inl relativity_ps fs (st : particle_state) =

23:19:31 #8944 [Debug] >     inl f_net = fs |> listm.map (fun f => f st) |> sum_vec

23:19:31 #8945 [Debug] >     inl c = 299792458

23:19:31 #8946 [Debug] >     inl u = st.velocity ^/ c

23:19:31 #8947 [Debug] >     inl acc = sqrt (1 - (u <.> u)) *^ (f_net ^-^ (f_net <.> u) *^ u) ^/ st.mass

23:19:31 #8948 [Debug] >     d_particle_state {

23:19:31 #8949 [Debug] >         dmdt = 0

23:19:31 #8950 [Debug] >         dqdt = 0

23:19:31 #8951 [Debug] >         dtdt = 1

23:19:31 #8952 [Debug] >         drdt = st.velocity

23:19:31 #8953 [Debug] >         dvdt = acc

23:19:31 #8954 [Debug] >     }

23:19:31 #8955 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3132-3269-3ad2378b9517\main.spi

23:19:31 #8956 [Debug] >

23:19:31 #8957 [Debug] > ╭─[ 313.76ms - stdout ]────────────────────────────────────────────────────────╮

23:19:31 #8958 [Debug] > │ ()                                                                           │

23:19:31 #8959 [Debug] > │                                                                              │

23:19:31 #8960 [Debug] > │                                                                              │

23:19:31 #8961 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:31 #8962 [Debug] >

23:19:31 #8963 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:31 #8964 [Debug] > // // test

23:19:31 #8965 [Debug] >

23:19:31 #8966 [Debug] > inl year = 365.25 * 24 * 60 * 60

23:19:31 #8967 [Debug] > inl c = 299792458

23:19:31 #8968 [Debug] > inl ~method = runge_kutta_4 100000

23:19:31 #8969 [Debug] > inl forces = [[ fun _ => 10 *^ i_hat () ]]

23:19:31 #8970 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()

23:19:31 #8971 [Debug] > inl initial_state =

23:19:31 #8972 [Debug] >     particle_state { default_particle_state' with

23:19:31 #8973 [Debug] >         mass = 1

23:19:31 #8974 [Debug] >     }

23:19:31 #8975 [Debug] >

23:19:31 #8976 [Debug] > inl newton_states = solver_ method (newton_second_ps forces) initial_state

23:19:31 #8977 [Debug] > inl relativity_states = solver_ method (relativity_ps forces) initial_state

23:19:31 #8978 [Debug] >

23:19:31 #8979 [Debug] > inl newton_x, newton_y =

23:19:31 #8980 [Debug] >     newton_states

23:19:31 #8981 [Debug] >     >> Some

23:19:31 #8982 [Debug] >     |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)

23:19:31 #8983 [Debug] >     |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)

23:19:31 #8984 [Debug] >     |> listm'.unzip

23:19:31 #8985 [Debug] >

23:19:31 #8986 [Debug] > inl _, relativity_y =

23:19:31 #8987 [Debug] >     relativity_states

23:19:31 #8988 [Debug] >     >> Some

23:19:31 #8989 [Debug] >     |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)

23:19:31 #8990 [Debug] >     |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)

23:19:31 #8991 [Debug] >     |> listm'.unzip

23:19:31 #8992 [Debug] >

23:19:31 #8993 [Debug] > inl newton_x : a i32 _ = newton_x |> listm.toArray

23:19:31 #8994 [Debug] > inl newton_y : a i32 _ = newton_y |> listm.toArray

23:19:31 #8995 [Debug] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray

23:19:31 #8996 [Debug] >

23:19:31 #8997 [Debug] > "response to a constant force",

23:19:31 #8998 [Debug] > "time (years)",

23:19:31 #8999 [Debug] > "velocity (multiples of c)",

23:19:31 #9000 [Debug] > ;[[

23:19:31 #9001 [Debug] >     "newtonian", newton_x, newton_y

23:19:31 #9002 [Debug] >     "relativistic", newton_x, relativity_y

23:19:31 #9003 [Debug] > ]]

23:19:31 #9004 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3164-6418-6dd22dd999f4\main.spi

23:19:32 #9005 [Debug] >

23:19:32 #9006 [Debug] > ╭─[ 1.11s - return value ]─────────────────────────────────────────────────────╮

23:19:32 #9007 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:32 #9008 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:32 #9009 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:32 #9010 [Debug] > │ stroke="none"/>                                                              │

23:19:32 #9011 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:32 #9012 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9013 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9014 [Debug] > │ response to a constant force                                                 │

23:19:32 #9015 [Debug] > │ </text>                                                                      │

23:19:32 #9016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │

23:19:32 #9017 [Debug] > │ y2="75"/>                                                                    │

23:19:32 #9018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:32 #9019 [Debug] > │ y2="75"/>                                                                    │

23:19:32 #9020 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │

23:19:32 #9021 [Debug] > │ y2="75"/>                                                                    │

23:19:32 #9022 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │

23:19:32 #9023 [Debug] > │ y2="75"/>                                                                    │

23:19:32 #9024 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:32 #9025 [Debug] > │ y2="75"/>                                                                    │

23:19:32 #9026 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424"        │

23:19:32 #9027 [Debug] > │ x2="109" y2="75"/>                                                           │

23:19:32 #9028 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:32 #9029 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:32 #9030 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:32 #9031 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:32 #9032 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:32 #9033 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:32 #9034 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424"        │

23:19:32 #9035 [Debug] > │ x2="149" y2="75"/>                                                           │

23:19:32 #9036 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424"        │

23:19:32 #9037 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:32 #9038 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:32 #9039 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:32 #9040 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424"        │

23:19:32 #9041 [Debug] > │ x2="179" y2="75"/>                                                           │

23:19:32 #9042 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:32 #9043 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:32 #9044 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424"        │

23:19:32 #9045 [Debug] > │ x2="199" y2="75"/>                                                           │

23:19:32 #9046 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424"        │

23:19:32 #9047 [Debug] > │ x2="209" y2="75"/>                                                           │

23:19:32 #9048 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:32 #9049 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:32 #9050 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424"        │

23:19:32 #9051 [Debug] > │ x2="229" y2="75"/>                                                           │

23:19:32 #9052 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424"        │

23:19:32 #9053 [Debug] > │ x2="239" y2="75"/>                                                           │

23:19:32 #9054 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:32 #9055 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:32 #9056 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424"        │

23:19:32 #9057 [Debug] > │ x2="259" y2="75"/>                                                           │

23:19:32 #9058 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:32 #9059 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:32 #9060 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424"        │

23:19:32 #9061 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:32 #9062 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424"        │

23:19:32 #9063 [Debug] > │ x2="289" y2="75"/>                                                           │

23:19:32 #9064 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424"        │

23:19:32 #9065 [Debug] > │ x2="299" y2="75"/>                                                           │

23:19:32 #9066 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:32 #9067 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:32 #9068 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:32 #9069 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:32 #9070 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424"        │

23:19:32 #9071 [Debug] > │ x2="329" y2="75"/>                                                           │

23:19:32 #9072 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424"        │

23:19:32 #9073 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:32 #9074 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424"        │

23:19:32 #9075 [Debug] > │ x2="349" y2="75"/>                                                           │

23:19:32 #9076 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424"        │

23:19:32 #9077 [Debug] > │ x2="359" y2="75"/>                                                           │

23:19:32 #9078 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:32 #9079 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:32 #9080 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424"        │

23:19:32 #9081 [Debug] > │ x2="379" y2="75"/>                                                           │

23:19:32 #9082 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424"        │

23:19:32 #9083 [Debug] > │ x2="389" y2="75"/>                                                           │

23:19:32 #9084 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424"        │

23:19:32 #9085 [Debug] > │ x2="399" y2="75"/>                                                           │

23:19:32 #9086 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424"        │

23:19:32 #9087 [Debug] > │ x2="409" y2="75"/>                                                           │

23:19:32 #9088 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:32 #9089 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:32 #9090 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424"        │

23:19:32 #9091 [Debug] > │ x2="429" y2="75"/>                                                           │

23:19:32 #9092 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424"        │

23:19:32 #9093 [Debug] > │ x2="439" y2="75"/>                                                           │

23:19:32 #9094 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424"        │

23:19:32 #9095 [Debug] > │ x2="449" y2="75"/>                                                           │

23:19:32 #9096 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424"        │

23:19:32 #9097 [Debug] > │ x2="459" y2="75"/>                                                           │

23:19:32 #9098 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:32 #9099 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:32 #9100 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424"        │

23:19:32 #9101 [Debug] > │ x2="479" y2="75"/>                                                           │

23:19:32 #9102 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424"        │

23:19:32 #9103 [Debug] > │ x2="489" y2="75"/>                                                           │

23:19:32 #9104 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:32 #9105 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:32 #9106 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424"        │

23:19:32 #9107 [Debug] > │ x2="509" y2="75"/>                                                           │

23:19:32 #9108 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:32 #9109 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:32 #9110 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424"        │

23:19:32 #9111 [Debug] > │ x2="529" y2="75"/>                                                           │

23:19:32 #9112 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424"        │

23:19:32 #9113 [Debug] > │ x2="539" y2="75"/>                                                           │

23:19:32 #9114 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424"        │

23:19:32 #9115 [Debug] > │ x2="549" y2="75"/>                                                           │

23:19:32 #9116 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424"        │

23:19:32 #9117 [Debug] > │ x2="559" y2="75"/>                                                           │

23:19:32 #9118 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:32 #9119 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:32 #9120 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:32 #9121 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:32 #9122 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="399"         │

23:19:32 #9123 [Debug] > │ x2="584" y2="399"/>                                                          │

23:19:32 #9124 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="383"         │

23:19:32 #9125 [Debug] > │ x2="584" y2="383"/>                                                          │

23:19:32 #9126 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368"         │

23:19:32 #9127 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:32 #9128 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="352"         │

23:19:32 #9129 [Debug] > │ x2="584" y2="352"/>                                                          │

23:19:32 #9130 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="336"         │

23:19:32 #9131 [Debug] > │ x2="584" y2="336"/>                                                          │

23:19:32 #9132 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321"         │

23:19:32 #9133 [Debug] > │ x2="584" y2="321"/>                                                          │

23:19:32 #9134 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="305"         │

23:19:32 #9135 [Debug] > │ x2="584" y2="305"/>                                                          │

23:19:32 #9136 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="289"         │

23:19:32 #9137 [Debug] > │ x2="584" y2="289"/>                                                          │

23:19:32 #9138 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="274"         │

23:19:32 #9139 [Debug] > │ x2="584" y2="274"/>                                                          │

23:19:32 #9140 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="258"         │

23:19:32 #9141 [Debug] > │ x2="584" y2="258"/>                                                          │

23:19:32 #9142 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="242"         │

23:19:32 #9143 [Debug] > │ x2="584" y2="242"/>                                                          │

23:19:32 #9144 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="227"         │

23:19:32 #9145 [Debug] > │ x2="584" y2="227"/>                                                          │

23:19:32 #9146 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="211"         │

23:19:32 #9147 [Debug] > │ x2="584" y2="211"/>                                                          │

23:19:32 #9148 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="195"         │

23:19:32 #9149 [Debug] > │ x2="584" y2="195"/>                                                          │

23:19:32 #9150 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="180"         │

23:19:32 #9151 [Debug] > │ x2="584" y2="180"/>                                                          │

23:19:32 #9152 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="164"         │

23:19:32 #9153 [Debug] > │ x2="584" y2="164"/>                                                          │

23:19:32 #9154 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="148"         │

23:19:32 #9155 [Debug] > │ x2="584" y2="148"/>                                                          │

23:19:32 #9156 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="133"         │

23:19:32 #9157 [Debug] > │ x2="584" y2="133"/>                                                          │

23:19:32 #9158 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="117"         │

23:19:32 #9159 [Debug] > │ x2="584" y2="117"/>                                                          │

23:19:32 #9160 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="101"         │

23:19:32 #9161 [Debug] > │ x2="584" y2="101"/>                                                          │

23:19:32 #9162 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="86" x2="584" │

23:19:32 #9163 [Debug] > │ y2="86"/>                                                                    │

23:19:32 #9164 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:32 #9165 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9166 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9167 [Debug] > │ time (years)                                                                 │

23:19:32 #9168 [Debug] > │ </text>                                                                      │

23:19:32 #9169 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:32 #9170 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9171 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:32 #9172 [Debug] > │ velocity (multiples of c)                                                    │

23:19:32 #9173 [Debug] > │ </text>                                                                      │

23:19:32 #9174 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:32 #9175 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9176 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9177 [Debug] > │ time (years)                                                                 │

23:19:32 #9178 [Debug] > │ </text>                                                                      │

23:19:32 #9179 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9180 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9181 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:32 #9182 [Debug] > │ velocity (multiples of c)                                                    │

23:19:32 #9183 [Debug] > │ </text>                                                                      │

23:19:32 #9184 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:32 #9185 [Debug] > │ y2="75"/>                                                                    │

23:19:32 #9186 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:32 #9187 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:32 #9188 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:32 #9189 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:32 #9190 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:32 #9191 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:32 #9192 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:32 #9193 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:32 #9194 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:32 #9195 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:32 #9196 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:32 #9197 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:32 #9198 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:32 #9199 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:32 #9200 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:32 #9201 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:32 #9202 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:32 #9203 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:32 #9204 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:32 #9205 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:32 #9206 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415"         │

23:19:32 #9207 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:32 #9208 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="352"         │

23:19:32 #9209 [Debug] > │ x2="584" y2="352"/>                                                          │

23:19:32 #9210 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="289"         │

23:19:32 #9211 [Debug] > │ x2="584" y2="289"/>                                                          │

23:19:32 #9212 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="227"         │

23:19:32 #9213 [Debug] > │ x2="584" y2="227"/>                                                          │

23:19:32 #9214 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="164"         │

23:19:32 #9215 [Debug] > │ x2="584" y2="164"/>                                                          │

23:19:32 #9216 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="101"         │

23:19:32 #9217 [Debug] > │ x2="584" y2="101"/>                                                          │

23:19:32 #9218 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9219 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:32 #9220 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:32 #9221 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9222 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9223 [Debug] > │ 0.0                                                                          │

23:19:32 #9224 [Debug] > │ </text>                                                                      │

23:19:32 #9225 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9226 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:32 #9227 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9228 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9229 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9230 [Debug] > │ 0.1                                                                          │

23:19:32 #9231 [Debug] > │ </text>                                                                      │

23:19:32 #9232 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9233 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:32 #9234 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9235 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9236 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9237 [Debug] > │ 0.2                                                                          │

23:19:32 #9238 [Debug] > │ </text>                                                                      │

23:19:32 #9239 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9240 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:32 #9241 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9242 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9243 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9244 [Debug] > │ 0.3                                                                          │

23:19:32 #9245 [Debug] > │ </text>                                                                      │

23:19:32 #9246 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9247 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:32 #9248 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9249 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9250 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9251 [Debug] > │ 0.4                                                                          │

23:19:32 #9252 [Debug] > │ </text>                                                                      │

23:19:32 #9253 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9254 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:32 #9255 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9256 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9257 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9258 [Debug] > │ 0.5                                                                          │

23:19:32 #9259 [Debug] > │ </text>                                                                      │

23:19:32 #9260 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9261 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:32 #9262 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9263 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9264 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9265 [Debug] > │ 0.6                                                                          │

23:19:32 #9266 [Debug] > │ </text>                                                                      │

23:19:32 #9267 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9268 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:32 #9269 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9270 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9271 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9272 [Debug] > │ 0.7                                                                          │

23:19:32 #9273 [Debug] > │ </text>                                                                      │

23:19:32 #9274 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9275 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:32 #9276 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9277 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9278 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9279 [Debug] > │ 0.8                                                                          │

23:19:32 #9280 [Debug] > │ </text>                                                                      │

23:19:32 #9281 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9282 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:32 #9283 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9284 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9285 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9286 [Debug] > │ 0.9                                                                          │

23:19:32 #9287 [Debug] > │ </text>                                                                      │

23:19:32 #9288 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9289 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:32 #9290 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:32 #9291 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9292 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9293 [Debug] > │ 1.0                                                                          │

23:19:32 #9294 [Debug] > │ </text>                                                                      │

23:19:32 #9295 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9296 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:32 #9297 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9298 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:32 #9299 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:32 #9300 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:32 #9301 [Debug] > │ 0.0                                                                          │

23:19:32 #9302 [Debug] > │ </text>                                                                      │

23:19:32 #9303 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9304 [Debug] > │ points="49,415 54,415 "/>                                                    │

23:19:32 #9305 [Debug] > │ <text x="45" y="352" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:32 #9306 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:32 #9307 [Debug] > │ 0.2                                                                          │

23:19:32 #9308 [Debug] > │ </text>                                                                      │

23:19:32 #9309 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9310 [Debug] > │ points="49,352 54,352 "/>                                                    │

23:19:32 #9311 [Debug] > │ <text x="45" y="289" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:32 #9312 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:32 #9313 [Debug] > │ 0.4                                                                          │

23:19:32 #9314 [Debug] > │ </text>                                                                      │

23:19:32 #9315 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9316 [Debug] > │ points="49,289 54,289 "/>                                                    │

23:19:32 #9317 [Debug] > │ <text x="45" y="227" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:32 #9318 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:32 #9319 [Debug] > │ 0.6                                                                          │

23:19:32 #9320 [Debug] > │ </text>                                                                      │

23:19:32 #9321 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9322 [Debug] > │ points="49,227 54,227 "/>                                                    │

23:19:32 #9323 [Debug] > │ <text x="45" y="164" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:32 #9324 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:32 #9325 [Debug] > │ 0.8                                                                          │

23:19:32 #9326 [Debug] > │ </text>                                                                      │

23:19:32 #9327 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9328 [Debug] > │ points="49,164 54,164 "/>                                                    │

23:19:32 #9329 [Debug] > │ <text x="45" y="101" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:32 #9330 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:32 #9331 [Debug] > │ 1.0                                                                          │

23:19:32 #9332 [Debug] > │ </text>                                                                      │

23:19:32 #9333 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9334 [Debug] > │ points="49,101 54,101 "/>                                                    │

23:19:32 #9335 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9336 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:32 #9337 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:32 #9338 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9339 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9340 [Debug] > │ 0.0                                                                          │

23:19:32 #9341 [Debug] > │ </text>                                                                      │

23:19:32 #9342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9343 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:32 #9344 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9345 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9346 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9347 [Debug] > │ 0.1                                                                          │

23:19:32 #9348 [Debug] > │ </text>                                                                      │

23:19:32 #9349 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9350 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:32 #9351 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9352 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9353 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9354 [Debug] > │ 0.2                                                                          │

23:19:32 #9355 [Debug] > │ </text>                                                                      │

23:19:32 #9356 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9357 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:32 #9358 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9359 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9360 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9361 [Debug] > │ 0.3                                                                          │

23:19:32 #9362 [Debug] > │ </text>                                                                      │

23:19:32 #9363 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9364 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:32 #9365 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9366 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9367 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9368 [Debug] > │ 0.4                                                                          │

23:19:32 #9369 [Debug] > │ </text>                                                                      │

23:19:32 #9370 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9371 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:32 #9372 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9373 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9374 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9375 [Debug] > │ 0.5                                                                          │

23:19:32 #9376 [Debug] > │ </text>                                                                      │

23:19:32 #9377 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9378 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:32 #9379 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9380 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9381 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9382 [Debug] > │ 0.6                                                                          │

23:19:32 #9383 [Debug] > │ </text>                                                                      │

23:19:32 #9384 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9385 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:32 #9386 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9387 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9388 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9389 [Debug] > │ 0.7                                                                          │

23:19:32 #9390 [Debug] > │ </text>                                                                      │

23:19:32 #9391 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9392 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:32 #9393 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9394 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9395 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9396 [Debug] > │ 0.8                                                                          │

23:19:32 #9397 [Debug] > │ </text>                                                                      │

23:19:32 #9398 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9399 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:32 #9400 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9401 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9402 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9403 [Debug] > │ 0.9                                                                          │

23:19:32 #9404 [Debug] > │ </text>                                                                      │

23:19:32 #9405 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9406 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:32 #9407 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:32 #9408 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9409 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9410 [Debug] > │ 1.0                                                                          │

23:19:32 #9411 [Debug] > │ </text>                                                                      │

23:19:32 #9412 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9413 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:32 #9414 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:32 #9415 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:32 #9416 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start"                         │

23:19:32 #9417 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:32 #9418 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:32 #9419 [Debug] > │ 0.0                                                                          │

23:19:33 #9420 [Debug] > │ </text>                                                                      │

23:19:33 #9421 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:33 #9422 [Debug] > │ points="585,415 590,415 "/>                                                  │

23:19:33 #9423 [Debug] > │ <text x="595" y="352" dy="0.5ex" text-anchor="start"                         │

23:19:33 #9424 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:33 #9425 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:33 #9426 [Debug] > │ 0.2                                                                          │

23:19:33 #9427 [Debug] > │ </text>                                                                      │

23:19:33 #9428 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:33 #9429 [Debug] > │ points="585,352 590,352 "/>                                                  │

23:19:33 #9430 [Debug] > │ <text x="595" y="289" dy="0.5ex" text-anchor="start"                         │

23:19:33 #9431 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:33 #9432 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:33 #9433 [Debug] > │ 0.4                                                                          │

23:19:33 #9434 [Debug] > │ </text>                                                                      │

23:19:33 #9435 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:33 #9436 [Debug] > │ points="585,289 590,289 "/>                                                  │

23:19:33 #9437 [Debug] > │ <text x="595" y="227" dy="0.5ex" text-anchor="start"                         │

23:19:33 #9438 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:33 #9439 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:33 #9440 [Debug] > │ 0.6                                                                          │

23:19:33 #9441 [Debug] > │ </text>                                                                      │

23:19:33 #9442 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:33 #9443 [Debug] > │ points="585,227 590,227 "/>                                                  │

23:19:33 #9444 [Debug] > │ <text x="595" y="164" dy="0.5ex" text-anchor="start"                         │

23:19:33 #9445 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:33 #9446 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:33 #9447 [Debug] > │ 0.8                                                                          │

23:19:33 #9448 [Debug] > │ </text>                                                                      │

23:19:33 #9449 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:33 #9450 [Debug] > │ points="585,164 590,164 "/>                                                  │

23:19:33 #9451 [Debug] > │ <text x="595" y="101" dy="0.5ex" text-anchor="start"                         │

23:19:33 #9452 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:33 #9453 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:33 #9454 [Debug] > │ 1.0                                                                          │

23:19:33 #9455 [Debug] > │ </text>                                                                      │

23:19:33 #9456 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:33 #9457 [Debug] > │ points="585,101 590,101 "/>                                                  │

23:19:33 #9458 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:33 #9459 [Debug] > │ points="69,415 71,414 73,413 74,411 76,410 77,409 79,408 81,407 82,406       │

23:19:33 #9460 [Debug] > │ 84,405 85,404 87,403 88,402 90,401 92,400 93,399 95,398 96,397 98,396        │

23:19:33 #9461 [Debug] > │ 100,395 101,394 103,393 104,392 106,391 107,390 109,388 111,387 112,386      │

23:19:33 #9462 [Debug] > │ 114,385 115,384 117,383 119,382 120,381 122,380 123,379 125,378 127,377      │

23:19:33 #9463 [Debug] > │ 128,376 130,375 131,374 133,373 134,372 136,371 138,370 139,369 141,368      │

23:19:33 #9464 [Debug] > │ 142,367 144,365 146,364 147,363 149,362 150,361 152,360 153,359 155,358      │

23:19:33 #9465 [Debug] > │ 157,357 158,356 160,355 161,354 163,353 165,352 166,351 168,350 169,349      │

23:19:33 #9466 [Debug] > │ 171,348 172,347 174,346 176,345 177,344 179,343 180,341 182,340 184,339      │

23:19:33 #9467 [Debug] > │ 185,338 187,337 188,336 190,335 191,334 193,333 195,332 196,331 198,330      │

23:19:33 #9468 [Debug] > │ 199,329 201,328 203,327 204,326 206,325 207,324 209,323 210,322 212,321      │

23:19:33 #9469 [Debug] > │ 214,320 215,318 217,317 218,316 220,315 222,314 223,313 225,312 226,311      │

23:19:33 #9470 [Debug] > │ 228,310 229,309 231,308 233,307 234,306 236,305 237,304 239,303 241,302      │

23:19:33 #9471 [Debug] > │ 242,301 244,300 245,299 247,298 248,297 250,295 252,294 253,293 255,292      │

23:19:33 #9472 [Debug] > │ 256,291 258,290 260,289 261,288 263,287 264,286 266,285 268,284 269,283      │

23:19:33 #9473 [Debug] > │ 271,282 272,281 274,280 275,279 277,278 279,277 280,276 282,275 283,274      │

23:19:33 #9474 [Debug] > │ 285,272 287,271 288,270 290,269 291,268 293,267 294,266 296,265 298,264      │

23:19:33 #9475 [Debug] > │ 299,263 301,262 302,261 304,260 306,259 307,258 309,257 310,256 312,255      │

23:19:33 #9476 [Debug] > │ 313,254 315,253 317,252 318,251 320,249 321,248 323,247 325,246 326,245      │

23:19:33 #9477 [Debug] > │ 328,244 329,243 331,242 332,241 334,240 336,239 337,238 339,237 340,236      │

23:19:33 #9478 [Debug] > │ 342,235 344,234 345,233 347,232 348,231 350,230 351,229 353,228 355,226      │

23:19:33 #9479 [Debug] > │ 356,225 358,224 359,223 361,222 363,221 364,220 366,219 367,218 369,217      │

23:19:33 #9480 [Debug] > │ 370,216 372,215 374,214 375,213 377,212 378,211 380,210 382,209 383,208      │

23:19:33 #9481 [Debug] > │ 385,207 386,206 388,205 390,203 391,202 393,201 394,200 396,199 397,198      │

23:19:33 #9482 [Debug] > │ 399,197 401,196 402,195 404,194 405,193 407,192 409,191 410,190 412,189      │

23:19:33 #9483 [Debug] > │ 413,188 415,187 416,186 418,185 420,184 421,183 423,182 424,180 426,179      │

23:19:33 #9484 [Debug] > │ 428,178 429,177 431,176 432,175 434,174 435,173 437,172 439,171 440,170      │

23:19:33 #9485 [Debug] > │ 442,169 443,168 445,167 447,166 448,165 450,164 451,163 453,162 454,161      │

23:19:33 #9486 [Debug] > │ 456,160 458,159 459,157 461,156 462,155 464,154 466,153 467,152 469,151      │

23:19:33 #9487 [Debug] > │ 470,150 472,149 473,148 475,147 477,146 478,145 480,144 481,143 483,142      │

23:19:33 #9488 [Debug] > │ 485,141 486,140 488,139 489,138 491,137 492,136 494,135 496,133 497,132      │

23:19:33 #9489 [Debug] > │ 499,131 500,130 502,129 504,128 505,127 507,126 508,125 510,124 511,123      │

23:19:33 #9490 [Debug] > │ 513,122 515,121 516,120 518,119 519,118 521,117 523,116 524,115 526,114      │

23:19:33 #9491 [Debug] > │ 527,113 529,112 531,110 532,109 534,108 535,107 537,106 538,105 540,104      │

23:19:33 #9492 [Debug] > │ 542,103 543,102 545,101 546,100 548,99 550,98 551,97 553,96 554,95 556,94    │

23:19:33 #9493 [Debug] > │ 557,93 559,92 561,91 562,90 564,89 565,87 567,86 569,85 "/>                  │

23:19:33 #9494 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:33 #9495 [Debug] > │ points="69,415 71,414 73,413 74,411 76,410 77,409 79,408 81,407 82,406       │

23:19:33 #9496 [Debug] > │ 84,405 85,404 87,403 88,402 90,401 92,400 93,399 95,398 96,397 98,396        │

23:19:33 #9497 [Debug] > │ 100,395 101,394 103,393 104,392 106,391 107,390 109,389 111,388 112,387      │

23:19:33 #9498 [Debug] > │ 114,385 115,384 117,383 119,382 120,381 122,380 123,379 125,378 127,377      │

23:19:33 #9499 [Debug] > │ 128,376 130,375 131,374 133,373 134,372 136,371 138,370 139,369 141,368      │

23:19:33 #9500 [Debug] > │ 142,367 144,366 146,365 147,364 149,363 150,362 152,361 153,360 155,359      │

23:19:33 #9501 [Debug] > │ 157,358 158,357 160,356 161,355 163,354 165,353 166,352 168,351 169,350      │

23:19:33 #9502 [Debug] > │ 171,349 172,348 174,347 176,346 177,345 179,344 180,343 182,342 184,341      │

23:19:33 #9503 [Debug] > │ 185,340 187,340 188,339 190,338 191,337 193,336 195,335 196,334 198,333      │

23:19:33 #9504 [Debug] > │ 199,332 201,331 203,330 204,329 206,328 207,327 209,326 210,325 212,325      │

23:19:33 #9505 [Debug] > │ 214,324 215,323 217,322 218,321 220,320 222,319 223,318 225,317 226,316      │

23:19:33 #9506 [Debug] > │ 228,315 229,315 231,314 233,313 234,312 236,311 237,310 239,309 241,308      │

23:19:33 #9507 [Debug] > │ 242,308 244,307 245,306 247,305 248,304 250,303 252,302 253,302 255,301      │

23:19:33 #9508 [Debug] > │ 256,300 258,299 260,298 261,297 263,297 264,296 266,295 268,294 269,293      │

23:19:33 #9509 [Debug] > │ 271,292 272,292 274,291 275,290 277,289 279,288 280,288 282,287 283,286      │

23:19:33 #9510 [Debug] > │ 285,285 287,284 288,284 290,283 291,282 293,281 294,280 296,280 298,279      │

23:19:33 #9511 [Debug] > │ 299,278 301,277 302,277 304,276 306,275 307,274 309,274 310,273 312,272      │

23:19:33 #9512 [Debug] > │ 313,271 315,271 317,270 318,269 320,269 321,268 323,267 325,266 326,266      │

23:19:33 #9513 [Debug] > │ 328,265 329,264 331,264 332,263 334,262 336,261 337,261 339,260 340,259      │

23:19:33 #9514 [Debug] > │ 342,259 344,258 345,257 347,257 348,256 350,255 351,255 353,254 355,253      │

23:19:33 #9515 [Debug] > │ 356,253 358,252 359,251 361,251 363,250 364,249 366,249 367,248 369,248      │

23:19:33 #9516 [Debug] > │ 370,247 372,246 374,246 375,245 377,244 378,244 380,243 382,243 383,242      │

23:19:33 #9517 [Debug] > │ 385,241 386,241 388,240 390,240 391,239 393,238 394,238 396,237 397,237      │

23:19:33 #9518 [Debug] > │ 399,236 401,235 402,235 404,234 405,234 407,233 409,233 410,232 412,231      │

23:19:33 #9519 [Debug] > │ 413,231 415,230 416,230 418,229 420,229 421,228 423,228 424,227 426,227      │

23:19:33 #9520 [Debug] > │ 428,226 429,225 431,225 432,224 434,224 435,223 437,223 439,222 440,222      │

23:19:33 #9521 [Debug] > │ 442,221 443,221 445,220 447,220 448,219 450,219 451,218 453,218 454,217      │

23:19:33 #9522 [Debug] > │ 456,217 458,216 459,216 461,215 462,215 464,214 466,214 467,213 469,213      │

23:19:33 #9523 [Debug] > │ 470,213 472,212 473,212 475,211 477,211 478,210 480,210 481,209 483,209      │

23:19:33 #9524 [Debug] > │ 485,208 486,208 488,208 489,207 491,207 492,206 494,206 496,205 497,205      │

23:19:33 #9525 [Debug] > │ 499,204 500,204 502,204 504,203 505,203 507,202 508,202 510,202 511,201      │

23:19:33 #9526 [Debug] > │ 513,201 515,200 516,200 518,200 519,199 521,199 523,198 524,198 526,198      │

23:19:33 #9527 [Debug] > │ 527,197 529,197 531,196 532,196 534,196 535,195 537,195 538,194 540,194      │

23:19:33 #9528 [Debug] > │ 542,194 543,193 545,193 546,193 548,192 550,192 551,192 553,191 554,191      │

23:19:33 #9529 [Debug] > │ 556,190 557,190 559,190 561,189 562,189 564,189 565,188 567,188 569,188 "/>  │

23:19:33 #9530 [Debug] > │ <rect x="464" y="227" width="116" height="45" opacity="1" fill="none"        │

23:19:33 #9531 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:33 #9532 [Debug] > │ <text x="504" y="237" dy="0.76em" text-anchor="start"                        │

23:19:33 #9533 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:33 #9534 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:33 #9535 [Debug] > │ newtonian                                                                    │

23:19:33 #9536 [Debug] > │ </text>                                                                      │

23:19:33 #9537 [Debug] > │ <text x="504" y="252" dy="0.76em" text-anchor="start"                        │

23:19:33 #9538 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:33 #9539 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:33 #9540 [Debug] > │ relativistic                                                                 │

23:19:33 #9541 [Debug] > │ </text>                                                                      │

23:19:33 #9542 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:33 #9543 [Debug] > │ points="474,242 494,242 "/>                                                  │

23:19:33 #9544 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:33 #9545 [Debug] > │ points="474,257 494,257 "/>                                                  │

23:19:33 #9546 [Debug] > │ </svg>                                                                       │

23:19:33 #9547 [Debug] > │                                                                              │

23:19:33 #9548 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:33 #9549 [Debug] >

23:19:33 #9550 [Debug] > ╭─[ 1.47s - stdout ]───────────────────────────────────────────────────────────╮

23:19:33 #9551 [Debug] > │ type UH0 =                                                                   │

23:19:33 #9552 [Debug] > │     | UH0_0 of float * float * float * float * float * float * float * float │

23:19:33 #9553 [Debug] > │ * float * UH0                                                                │

23:19:33 #9554 [Debug] > │     | UH0_1                                                                  │

23:19:33 #9555 [Debug] > │ and UH1 =                                                                    │

23:19:33 #9556 [Debug] > │     | UH1_0 of float * float * UH1                                           │

23:19:33 #9557 [Debug] > │     | UH1_1                                                                  │

23:19:33 #9558 [Debug] > │ and UH2 =                                                                    │

23:19:33 #9559 [Debug] > │     | UH2_0 of float * UH2                                                   │

23:19:33 #9560 [Debug] > │     | UH2_1                                                                  │

23:19:33 #9561 [Debug] > │ let rec closure1 (v0 : (struct (float * float * float * float * float *      │

23:19:33 #9562 [Debug] > │ float * float * float * float) -> struct (float * float * float * float *    │

23:19:33 #9563 [Debug] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3  │

23:19:33 #9564 [Debug] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 :    │

23:19:33 #9565 [Debug] > │ float) : struct (float * float * float * float * float * float * float *     │

23:19:33 #9566 [Debug] > │ float * float) =                                                             │

23:19:33 #9567 [Debug] > │     let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 :    │

23:19:33 #9568 [Debug] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1,  │

23:19:33 #9569 [Debug] > │ v2, v3, v4, v5, v6, v7, v8, v9)                                              │

23:19:33 #9570 [Debug] > │     let v19 : float = v15 * 50000.0                                          │

23:19:33 #9571 [Debug] > │     let v20 : float = v6 + v19                                               │

23:19:33 #9572 [Debug] > │     let v21 : float = 50000.0 * v12                                          │

23:19:33 #9573 [Debug] > │     let v22 : float = 50000.0 * v13                                          │

23:19:33 #9574 [Debug] > │     let v23 : float = 50000.0 * v14                                          │

23:19:33 #9575 [Debug] > │     let v24 : float = v3 + v21                                               │

23:19:33 #9576 [Debug] > │     let v25 : float = v4 + v22                                               │

23:19:33 #9577 [Debug] > │     let v26 : float = v5 + v23                                               │

23:19:33 #9578 [Debug] > │     let v27 : float = 50000.0 * v16                                          │

23:19:33 #9579 [Debug] > │     let v28 : float = 50000.0 * v17                                          │

23:19:33 #9580 [Debug] > │     let v29 : float = 50000.0 * v18                                          │

23:19:33 #9581 [Debug] > │     let v30 : float = v7 + v27                                               │

23:19:33 #9582 [Debug] > │     let v31 : float = v8 + v28                                               │

23:19:33 #9583 [Debug] > │     let v32 : float = v9 + v29                                               │

23:19:33 #9584 [Debug] > │     let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 :    │

23:19:33 #9585 [Debug] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1,  │

23:19:33 #9586 [Debug] > │ v2, v24, v25, v26, v20, v30, v31, v32)                                       │

23:19:33 #9587 [Debug] > │     let v42 : float = v38 * 50000.0                                          │

23:19:33 #9588 [Debug] > │     let v43 : float = v6 + v42                                               │

23:19:33 #9589 [Debug] > │     let v44 : float = 50000.0 * v35                                          │

23:19:33 #9590 [Debug] > │     let v45 : float = 50000.0 * v36                                          │

23:19:33 #9591 [Debug] > │     let v46 : float = 50000.0 * v37                                          │

23:19:33 #9592 [Debug] > │     let v47 : float = v3 + v44                                               │

23:19:33 #9593 [Debug] > │     let v48 : float = v4 + v45                                               │

23:19:33 #9594 [Debug] > │     let v49 : float = v5 + v46                                               │

23:19:33 #9595 [Debug] > │     let v50 : float = 50000.0 * v39                                          │

23:19:33 #9596 [Debug] > │     let v51 : float = 50000.0 * v40                                          │

23:19:33 #9597 [Debug] > │     let v52 : float = 50000.0 * v41                                          │

23:19:33 #9598 [Debug] > │     let v53 : float = v7 + v50                                               │

23:19:33 #9599 [Debug] > │     let v54 : float = v8 + v51                                               │

23:19:33 #9600 [Debug] > │     let v55 : float = v9 + v52                                               │

23:19:33 #9601 [Debug] > │     let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 :    │

23:19:33 #9602 [Debug] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1,  │

23:19:33 #9603 [Debug] > │ v2, v47, v48, v49, v43, v53, v54, v55)                                       │

23:19:33 #9604 [Debug] > │     let v65 : float = v61 * 100000.0                                         │

23:19:33 #9605 [Debug] > │     let v66 : float = v6 + v65                                               │

23:19:33 #9606 [Debug] > │     let v67 : float = 100000.0 * v58                                         │

23:19:33 #9607 [Debug] > │     let v68 : float = 100000.0 * v59                                         │

23:19:33 #9608 [Debug] > │     let v69 : float = 100000.0 * v60                                         │

23:19:33 #9609 [Debug] > │     let v70 : float = v3 + v67                                               │

23:19:33 #9610 [Debug] > │     let v71 : float = v4 + v68                                               │

23:19:33 #9611 [Debug] > │     let v72 : float = v5 + v69                                               │

23:19:33 #9612 [Debug] > │     let v73 : float = 100000.0 * v62                                         │

23:19:33 #9613 [Debug] > │     let v74 : float = 100000.0 * v63                                         │

23:19:33 #9614 [Debug] > │     let v75 : float = 100000.0 * v64                                         │

23:19:33 #9615 [Debug] > │     let v76 : float = v7 + v73                                               │

23:19:33 #9616 [Debug] > │     let v77 : float = v8 + v74                                               │

23:19:33 #9617 [Debug] > │     let v78 : float = v9 + v75                                               │

23:19:33 #9618 [Debug] > │     let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 :    │

23:19:33 #9619 [Debug] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1,  │

23:19:33 #9620 [Debug] > │ v2, v70, v71, v72, v66, v76, v77, v78)                                       │

23:19:33 #9621 [Debug] > │     let v88 : float = v10 + v33                                              │

23:19:33 #9622 [Debug] > │     let v89 : float = v11 + v34                                              │

23:19:33 #9623 [Debug] > │     let v90 : float = v15 + v38                                              │

23:19:33 #9624 [Debug] > │     let v91 : float = v12 + v35                                              │

23:19:33 #9625 [Debug] > │     let v92 : float = v13 + v36                                              │

23:19:33 #9626 [Debug] > │     let v93 : float = v14 + v37                                              │

23:19:33 #9627 [Debug] > │     let v94 : float = v16 + v39                                              │

23:19:33 #9628 [Debug] > │     let v95 : float = v17 + v40                                              │

23:19:33 #9629 [Debug] > │     let v96 : float = v18 + v41                                              │

23:19:33 #9630 [Debug] > │     let v97 : float = v88 + v33                                              │

23:19:33 #9631 [Debug] > │     let v98 : float = v89 + v34                                              │

23:19:33 #9632 [Debug] > │     let v99 : float = v90 + v38                                              │

23:19:33 #9633 [Debug] > │     let v100 : float = v91 + v35                                             │

23:19:33 #9634 [Debug] > │     let v101 : float = v92 + v36                                             │

23:19:33 #9635 [Debug] > │     let v102 : float = v93 + v37                                             │

23:19:33 #9636 [Debug] > │     let v103 : float = v94 + v39                                             │

23:19:33 #9637 [Debug] > │     let v104 : float = v95 + v40                                             │

23:19:33 #9638 [Debug] > │     let v105 : float = v96 + v41                                             │

23:19:33 #9639 [Debug] > │     let v106 : float = v97 + v56                                             │

23:19:33 #9640 [Debug] > │     let v107 : float = v98 + v57                                             │

23:19:33 #9641 [Debug] > │     let v108 : float = v99 + v61                                             │

23:19:33 #9642 [Debug] > │     let v109 : float = v100 + v58                                            │

23:19:33 #9643 [Debug] > │     let v110 : float = v101 + v59                                            │

23:19:33 #9644 [Debug] > │     let v111 : float = v102 + v60                                            │

23:19:33 #9645 [Debug] > │     let v112 : float = v103 + v62                                            │

23:19:33 #9646 [Debug] > │     let v113 : float = v104 + v63                                            │

23:19:33 #9647 [Debug] > │     let v114 : float = v105 + v64                                            │

23:19:33 #9648 [Debug] > │     let v115 : float = v106 + v56                                            │

23:19:33 #9649 [Debug] > │     let v116 : float = v107 + v57                                            │

23:19:33 #9650 [Debug] > │     let v117 : float = v108 + v61                                            │

23:19:33 #9651 [Debug] > │     let v118 : float = v109 + v58                                            │

23:19:33 #9652 [Debug] > │     let v119 : float = v110 + v59                                            │

23:19:33 #9653 [Debug] > │     let v120 : float = v111 + v60                                            │

23:19:33 #9654 [Debug] > │     let v121 : float = v112 + v62                                            │

23:19:33 #9655 [Debug] > │     let v122 : float = v113 + v63                                            │

23:19:33 #9656 [Debug] > │     let v123 : float = v114 + v64                                            │

23:19:33 #9657 [Debug] > │     let v124 : float = v115 + v79                                            │

23:19:33 #9658 [Debug] > │     let v125 : float = v116 + v80                                            │

23:19:33 #9659 [Debug] > │     let v126 : float = v117 + v84                                            │

23:19:33 #9660 [Debug] > │     let v127 : float = v118 + v81                                            │

23:19:33 #9661 [Debug] > │     let v128 : float = v119 + v82                                            │

23:19:33 #9662 [Debug] > │     let v129 : float = v120 + v83                                            │

23:19:33 #9663 [Debug] > │     let v130 : float = v121 + v85                                            │

23:19:33 #9664 [Debug] > │     let v131 : float = v122 + v86                                            │

23:19:33 #9665 [Debug] > │     let v132 : float = v123 + v87                                            │

23:19:33 #9666 [Debug] > │     let v133 : float = v126 * 16666.666666666668                             │

23:19:33 #9667 [Debug] > │     let v134 : float = v6 + v133                                             │

23:19:33 #9668 [Debug] > │     let v135 : float = 16666.666666666668 * v127                             │

23:19:33 #9669 [Debug] > │     let v136 : float = 16666.666666666668 * v128                             │

23:19:33 #9670 [Debug] > │     let v137 : float = 16666.666666666668 * v129                             │

23:19:33 #9671 [Debug] > │     let v138 : float = v3 + v135                                             │

23:19:33 #9672 [Debug] > │     let v139 : float = v4 + v136                                             │

23:19:33 #9673 [Debug] > │     let v140 : float = v5 + v137                                             │

23:19:33 #9674 [Debug] > │     let v141 : float = 16666.666666666668 * v130                             │

23:19:33 #9675 [Debug] > │     let v142 : float = 16666.666666666668 * v131                             │

23:19:33 #9676 [Debug] > │     let v143 : float = 16666.666666666668 * v132                             │

23:19:33 #9677 [Debug] > │     let v144 : float = v7 + v141                                             │

23:19:33 #9678 [Debug] > │     let v145 : float = v8 + v142                                             │

23:19:33 #9679 [Debug] > │     let v146 : float = v9 + v143                                             │

23:19:33 #9680 [Debug] > │     struct (v1, v2, v138, v139, v140, v134, v144, v145, v146)                │

23:19:33 #9681 [Debug] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │

23:19:33 #9682 [Debug] > │ * float * float * float) -> struct (float * float * float * float * float *  │

23:19:33 #9683 [Debug] > │ float * float * float * float))) : (struct (float * float * float * float *  │

23:19:33 #9684 [Debug] > │ float * float * float * float * float) -> struct (float * float * float *    │

23:19:33 #9685 [Debug] > │ float * float * float * float * float * float)) =                            │

23:19:33 #9686 [Debug] > │     closure1(v0)                                                             │

23:19:33 #9687 [Debug] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │

23:19:33 #9688 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float *     │

23:19:33 #9689 [Debug] > │ float * float * float * float * float * float * float * float) =             │

23:19:33 #9690 [Debug] > │     let v9 : float = 10.0 / v1                                               │

23:19:33 #9691 [Debug] > │     let v10 : float = 0.0 / v1                                               │

23:19:33 #9692 [Debug] > │     struct (0.0, 0.0, v6, v7, v8, 1.0, v9, v10, v10)                         │

23:19:33 #9693 [Debug] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │

23:19:33 #9694 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float *     │

23:19:33 #9695 [Debug] > │ float * float * float * float * float * float * float * float) =             │

23:19:33 #9696 [Debug] > │     let v9 : float = v6 / 299792458.0                                        │

23:19:33 #9697 [Debug] > │     let v10 : float = v7 / 299792458.0                                       │

23:19:33 #9698 [Debug] > │     let v11 : float = v8 / 299792458.0                                       │

23:19:33 #9699 [Debug] > │     let v12 : float = v9 * v9                                                │

23:19:33 #9700 [Debug] > │     let v13 : float = v10 * v10                                              │

23:19:33 #9701 [Debug] > │     let v14 : float = v12 + v13                                              │

23:19:33 #9702 [Debug] > │     let v15 : float = v11 * v11                                              │

23:19:33 #9703 [Debug] > │     let v16 : float = v14 + v15                                              │

23:19:33 #9704 [Debug] > │     let v17 : float = 1.0 - v16                                              │

23:19:33 #9705 [Debug] > │     let v18 : float = sqrt v17                                               │

23:19:33 #9706 [Debug] > │     let v19 : float = 10.0 * v9                                              │

23:19:33 #9707 [Debug] > │     let v20 : float = 0.0 * v10                                              │

23:19:33 #9708 [Debug] > │     let v21 : float = v19 + v20                                              │

23:19:33 #9709 [Debug] > │     let v22 : float = 0.0 * v11                                              │

23:19:33 #9710 [Debug] > │     let v23 : float = v21 + v22                                              │

23:19:33 #9711 [Debug] > │     let v24 : float = v23 * v9                                               │

23:19:33 #9712 [Debug] > │     let v25 : float = v23 * v10                                              │

23:19:33 #9713 [Debug] > │     let v26 : float = v23 * v11                                              │

23:19:33 #9714 [Debug] > │     let v27 : float = -1.0 * v24                                             │

23:19:33 #9715 [Debug] > │     let v28 : float = -1.0 * v25                                             │

23:19:33 #9716 [Debug] > │     let v29 : float = -1.0 * v26                                             │

23:19:33 #9717 [Debug] > │     let v30 : float = 10.0 + v27                                             │

23:19:33 #9718 [Debug] > │     let v31 : float = v18 * v30                                              │

23:19:33 #9719 [Debug] > │     let v32 : float = v18 * v28                                              │

23:19:33 #9720 [Debug] > │     let v33 : float = v18 * v29                                              │

23:19:33 #9721 [Debug] > │     let v34 : float = v31 / v1                                               │

23:19:33 #9722 [Debug] > │     let v35 : float = v32 / v1                                               │

23:19:33 #9723 [Debug] > │     let v36 : float = v33 / v1                                               │

23:19:33 #9724 [Debug] > │     struct (0.0, 0.0, v6, v7, v8, 1.0, v34, v35, v36)                        │

23:19:33 #9725 [Debug] > │ and method2 (v0 : (struct (float * float * float * float * float * float *   │

23:19:33 #9726 [Debug] > │ float * float * float) -> struct (float * float * float * float * float *    │

23:19:33 #9727 [Debug] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 :    │

23:19:33 #9728 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 :     │

23:19:33 #9729 [Debug] > │ int32) : struct (float * float * float * float * float * float * float *     │

23:19:33 #9730 [Debug] > │ float * float) =                                                             │

23:19:33 #9731 [Debug] > │     let v11 : bool = v10 <= 0                                                │

23:19:33 #9732 [Debug] > │     if v11 then                                                              │

23:19:33 #9733 [Debug] > │         struct (v1, v2, v3, v4, v5, v6, v7, v8, v9)                          │

23:19:33 #9734 [Debug] > │     else                                                                     │

23:19:33 #9735 [Debug] > │         let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16  │

23:19:33 #9736 [Debug] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct     │

23:19:33 #9737 [Debug] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9)                                         │

23:19:33 #9738 [Debug] > │         let v21 : int32 = v10 - 1                                            │

23:19:33 #9739 [Debug] > │         method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)        │

23:19:33 #9740 [Debug] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 =                                     │

23:19:33 #9741 [Debug] > │     match v0 with                                                            │

23:19:33 #9742 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:33 #9743 [Debug] > │         let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1)       │

23:19:33 #9744 [Debug] > │         method3(v11, v12)                                                    │

23:19:33 #9745 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:33 #9746 [Debug] > │         v1                                                                   │

23:19:33 #9747 [Debug] > │ and method1 (v0 : (struct (float * float * float * float * float * float *   │

23:19:33 #9748 [Debug] > │ float * float * float) -> struct (float * float * float * float * float *    │

23:19:33 #9749 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 =               │

23:19:33 #9750 [Debug] > │     let v3 : float = 0.0                                                     │

23:19:33 #9751 [Debug] > │     let v4 : float = 1.0                                                     │

23:19:33 #9752 [Debug] > │     let v5 : float = 0.0                                                     │

23:19:33 #9753 [Debug] > │     let v6 : float = 0.0                                                     │

23:19:33 #9754 [Debug] > │     let v7 : float = 0.0                                                     │

23:19:33 #9755 [Debug] > │     let v8 : float = 0.0                                                     │

23:19:33 #9756 [Debug] > │     let v9 : float = 0.0                                                     │

23:19:33 #9757 [Debug] > │     let v10 : float = 0.0                                                    │

23:19:33 #9758 [Debug] > │     let v11 : float = 0.0                                                    │

23:19:33 #9759 [Debug] > │     let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 :    │

23:19:33 #9760 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │

23:19:33 #9761 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2)                                        │

23:19:33 #9762 [Debug] > │     let v21 : bool = v17 <= 31557600.0                                       │

23:19:33 #9763 [Debug] > │     if v21 then                                                              │

23:19:33 #9764 [Debug] > │         let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20,   │

23:19:33 #9765 [Debug] > │ v1)                                                                          │

23:19:33 #9766 [Debug] > │         let v23 : int32 = v2 + 1                                             │

23:19:33 #9767 [Debug] > │         method1(v0, v22, v23)                                                │

23:19:33 #9768 [Debug] > │     else                                                                     │

23:19:33 #9769 [Debug] > │         let v25 : UH0 = UH0_1                                                │

23:19:33 #9770 [Debug] > │         method3(v1, v25)                                                     │

23:19:33 #9771 [Debug] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:33 #9772 [Debug] > │     match v0 with                                                            │

23:19:33 #9773 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:33 #9774 [Debug] > │         let v12 : UH1 = method4(v11, v1)                                     │

23:19:33 #9775 [Debug] > │         let v13 : float = v7 / 31557600.0                                    │

23:19:33 #9776 [Debug] > │         let v14 : float = v8 / 299792458.0                                   │

23:19:33 #9777 [Debug] > │         UH1_0(v13, v14, v12)                                                 │

23:19:33 #9778 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:33 #9779 [Debug] > │         v1                                                                   │

23:19:33 #9780 [Debug] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) =            │

23:19:33 #9781 [Debug] > │     match v0 with                                                            │

23:19:33 #9782 [Debug] > │     | UH1_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:33 #9783 [Debug] > │         let v6 : UH2 = UH2_0(v3, v1)                                         │

23:19:33 #9784 [Debug] > │         let v7 : UH2 = UH2_0(v4, v2)                                         │

23:19:33 #9785 [Debug] > │         method5(v5, v6, v7)                                                  │

23:19:33 #9786 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:33 #9787 [Debug] > │         struct (v1, v2)                                                      │

23:19:33 #9788 [Debug] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 =                                     │

23:19:33 #9789 [Debug] > │     match v0 with                                                            │

23:19:33 #9790 [Debug] > │     | UH2_0(v2, v3) -> (* Cons *)                                            │

23:19:33 #9791 [Debug] > │         let v4 : UH2 = UH2_0(v2, v1)                                         │

23:19:33 #9792 [Debug] > │         method6(v3, v4)                                                      │

23:19:33 #9793 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:33 #9794 [Debug] > │         v1                                                                   │

23:19:33 #9795 [Debug] > │ and method7 (v0 : (struct (float * float * float * float * float * float *   │

23:19:33 #9796 [Debug] > │ float * float * float) -> struct (float * float * float * float * float *    │

23:19:33 #9797 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 =               │

23:19:33 #9798 [Debug] > │     let v3 : float = 0.0                                                     │

23:19:33 #9799 [Debug] > │     let v4 : float = 1.0                                                     │

23:19:33 #9800 [Debug] > │     let v5 : float = 0.0                                                     │

23:19:33 #9801 [Debug] > │     let v6 : float = 0.0                                                     │

23:19:33 #9802 [Debug] > │     let v7 : float = 0.0                                                     │

23:19:33 #9803 [Debug] > │     let v8 : float = 0.0                                                     │

23:19:33 #9804 [Debug] > │     let v9 : float = 0.0                                                     │

23:19:33 #9805 [Debug] > │     let v10 : float = 0.0                                                    │

23:19:33 #9806 [Debug] > │     let v11 : float = 0.0                                                    │

23:19:33 #9807 [Debug] > │     let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 :    │

23:19:33 #9808 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │

23:19:33 #9809 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2)                                        │

23:19:33 #9810 [Debug] > │     let v21 : bool = v17 <= 31557600.0                                       │

23:19:33 #9811 [Debug] > │     if v21 then                                                              │

23:19:33 #9812 [Debug] > │         let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20,   │

23:19:33 #9813 [Debug] > │ v1)                                                                          │

23:19:33 #9814 [Debug] > │         let v23 : int32 = v2 + 1                                             │

23:19:33 #9815 [Debug] > │         method7(v0, v22, v23)                                                │

23:19:33 #9816 [Debug] > │     else                                                                     │

23:19:33 #9817 [Debug] > │         let v25 : UH0 = UH0_1                                                │

23:19:33 #9818 [Debug] > │         method3(v1, v25)                                                     │

23:19:33 #9819 [Debug] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:33 #9820 [Debug] > │     match v0 with                                                            │

23:19:33 #9821 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:33 #9822 [Debug] > │         let v12 : UH1 = method8(v11, v1)                                     │

23:19:33 #9823 [Debug] > │         let v13 : float = v7 / 31557600.0                                    │

23:19:33 #9824 [Debug] > │         let v14 : float = v8 / 299792458.0                                   │

23:19:33 #9825 [Debug] > │         UH1_0(v13, v14, v12)                                                 │

23:19:33 #9826 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:33 #9827 [Debug] > │         v1                                                                   │

23:19:33 #9828 [Debug] > │ and method10 (v0 : UH2, v1 : int32) : int32 =                                │

23:19:33 #9829 [Debug] > │     match v0 with                                                            │

23:19:33 #9830 [Debug] > │     | UH2_0(v2, v3) -> (* Cons *)                                            │

23:19:33 #9831 [Debug] > │         let v4 : int32 = v1 + 1                                              │

23:19:33 #9832 [Debug] > │         method10(v3, v4)                                                     │

23:19:33 #9833 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:33 #9834 [Debug] > │         v1                                                                   │

23:19:33 #9835 [Debug] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 =               │

23:19:33 #9836 [Debug] > │     match v1 with                                                            │

23:19:33 #9837 [Debug] > │     | UH2_0(v3, v4) -> (* Cons *)                                            │

23:19:33 #9838 [Debug] > │         v0.[int v2] <- v3                                                    │

23:19:33 #9839 [Debug] > │         let v5 : int32 = v2 + 1                                              │

23:19:33 #9840 [Debug] > │         method11(v0, v4, v5)                                                 │

23:19:33 #9841 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:33 #9842 [Debug] > │         v2                                                                   │

23:19:33 #9843 [Debug] > │ and method9 (v0 : UH2) : (float []) =                                        │

23:19:33 #9844 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:33 #9845 [Debug] > │     let v2 : int32 = method10(v0, v1)                                        │

23:19:33 #9846 [Debug] > │     let v3 : (float []) = Array.zeroCreate<float> (v2)                       │

23:19:33 #9847 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:33 #9848 [Debug] > │     let v5 : int32 = method11(v3, v0, v4)                                    │

23:19:33 #9849 [Debug] > │     v3                                                                       │

23:19:33 #9850 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:33 #9851 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:33 #9852 [Debug] > │     let v0 : ((struct (float * float * float * float * float * float * float │

23:19:33 #9853 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:33 #9854 [Debug] > │ float * float * float)) -> (struct (float * float * float * float * float *  │

23:19:33 #9855 [Debug] > │ float * float * float * float) -> struct (float * float * float * float *    │

23:19:33 #9856 [Debug] > │ float * float * float * float * float))) = closure0()                        │

23:19:33 #9857 [Debug] > │     let v1 : (struct (float * float * float * float * float * float * float  │

23:19:33 #9858 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:33 #9859 [Debug] > │ float * float * float)) = closure2()                                         │

23:19:33 #9860 [Debug] > │     let v2 : (struct (float * float * float * float * float * float * float  │

23:19:33 #9861 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:33 #9862 [Debug] > │ float * float * float)) = v0 v1                                              │

23:19:33 #9863 [Debug] > │     let v3 : (struct (float * float * float * float * float * float * float  │

23:19:33 #9864 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:33 #9865 [Debug] > │ float * float * float)) = closure3()                                         │

23:19:33 #9866 [Debug] > │     let v4 : (struct (float * float * float * float * float * float * float  │

23:19:33 #9867 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:33 #9868 [Debug] > │ float * float * float)) = v0 v3                                              │

23:19:33 #9869 [Debug] > │     let v5 : UH0 = UH0_1                                                     │

23:19:33 #9870 [Debug] > │     let v6 : int32 = 0                                                       │

23:19:33 #9871 [Debug] > │     let v7 : UH0 = method1(v2, v5, v6)                                       │

23:19:33 #9872 [Debug] > │     let v8 : UH1 = UH1_1                                                     │

23:19:33 #9873 [Debug] > │     let v9 : UH1 = method4(v7, v8)                                           │

23:19:33 #9874 [Debug] > │     let v10 : UH2 = UH2_1                                                    │

23:19:33 #9875 [Debug] > │     let v11 : UH2 = UH2_1                                                    │

23:19:33 #9876 [Debug] > │     let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11)                │

23:19:33 #9877 [Debug] > │     let v14 : UH2 = UH2_1                                                    │

23:19:33 #9878 [Debug] > │     let v15 : UH2 = method6(v12, v14)                                        │

23:19:33 #9879 [Debug] > │     let v16 : UH2 = UH2_1                                                    │

23:19:33 #9880 [Debug] > │     let v17 : UH2 = method6(v13, v16)                                        │

23:19:33 #9881 [Debug] > │     let v18 : UH0 = UH0_1                                                    │

23:19:33 #9882 [Debug] > │     let v19 : int32 = 0                                                      │

23:19:33 #9883 [Debug] > │     let v20 : UH0 = method7(v4, v18, v19)                                    │

23:19:33 #9884 [Debug] > │     let v21 : UH1 = UH1_1                                                    │

23:19:33 #9885 [Debug] > │     let v22 : UH1 = method8(v20, v21)                                        │

23:19:33 #9886 [Debug] > │     let v23 : UH2 = UH2_1                                                    │

23:19:33 #9887 [Debug] > │     let v24 : UH2 = UH2_1                                                    │

23:19:33 #9888 [Debug] > │     let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24)               │

23:19:33 #9889 [Debug] > │     let v27 : UH2 = UH2_1                                                    │

23:19:33 #9890 [Debug] > │     let v28 : UH2 = method6(v25, v27)                                        │

23:19:33 #9891 [Debug] > │     let v29 : UH2 = UH2_1                                                    │

23:19:33 #9892 [Debug] > │     let v30 : UH2 = method6(v26, v29)                                        │

23:19:33 #9893 [Debug] > │     let v31 : (float []) = method9(v15)                                      │

23:19:33 #9894 [Debug] > │     let v32 : (float []) = method9(v17)                                      │

23:19:33 #9895 [Debug] > │     let v33 : (float []) = method9(v30)                                      │

23:19:33 #9896 [Debug] > │     let v34 : string = "newtonian"                                           │

23:19:33 #9897 [Debug] > │     let v35 : string = "relativistic"                                        │

23:19:33 #9898 [Debug] > │     let v36 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:33 #9899 [Debug] > │ (v34, v31, v32); struct (v35, v31, v33)|]                                    │

23:19:33 #9900 [Debug] > │     let v37 : string = "response to a constant force"                        │

23:19:33 #9901 [Debug] > │     let v38 : string = "time (years)"                                        │

23:19:33 #9902 [Debug] > │     let v39 : string = "velocity (multiples of c)"                           │

23:19:33 #9903 [Debug] > │     struct (v37, v38, v39, v36)                                              │

23:19:33 #9904 [Debug] > │ method0()                                                                    │

23:19:33 #9905 [Debug] > │                                                                              │

23:19:33 #9906 [Debug] > │                                                                              │

23:19:33 #9907 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:33 #9908 [Debug] >

23:19:33 #9909 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:33 #9910 [Debug] > inl uniform_lorentz_force v_e v_b (st : particle_state) =

23:19:33 #9911 [Debug] >     st.charge *^ (v_e ^+^ st.velocity >< v_b)

23:19:33 #9912 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3338-3826-34ef54b86419\main.spi

23:19:33 #9913 [Debug] >

23:19:33 #9914 [Debug] > ╭─[ 199.53ms - stdout ]────────────────────────────────────────────────────────╮

23:19:33 #9915 [Debug] > │ ()                                                                           │

23:19:33 #9916 [Debug] > │                                                                              │

23:19:33 #9917 [Debug] > │                                                                              │

23:19:33 #9918 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:33 #9919 [Debug] >

23:19:33 #9920 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:33 #9921 [Debug] > // // test

23:19:33 #9922 [Debug] >

23:19:33 #9923 [Debug] > inl c : f64 = 299792458

23:19:33 #9924 [Debug] > inl ~method = runge_kutta_4 0.000000001

23:19:33 #9925 [Debug] > inl forces = [[ uniform_lorentz_force (zero_vec ()) (k_hat ()) ]]

23:19:33 #9926 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()

23:19:33 #9927 [Debug] > inl initial_state =

23:19:33 #9928 [Debug] >     particle_state { default_particle_state' with

23:19:33 #9929 [Debug] >         mass = 0.000000000000000000000000001672621898

23:19:33 #9930 [Debug] >         charge = 0.0000000000000000001602176621

23:19:33 #9931 [Debug] >         velocity = 0.8 *^ (c *^ j_hat ())

23:19:33 #9932 [Debug] >     }

23:19:33 #9933 [Debug] >

23:19:33 #9934 [Debug] > inl newton_states = solver_ method (newton_second_ps forces) initial_state

23:19:33 #9935 [Debug] > inl relativity_states = solver_ method (relativity_ps forces) initial_state

23:19:33 #9936 [Debug] >

23:19:33 #9937 [Debug] > inl newton_x, newton_y =

23:19:33 #9938 [Debug] >     newton_states

23:19:33 #9939 [Debug] >     >> Some

23:19:33 #9940 [Debug] >     |> seq.take_while_ (fun (particle_state st) i => i < 100i32)

23:19:33 #9941 [Debug] >     |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)

23:19:33 #9942 [Debug] >     |> listm'.unzip

23:19:33 #9943 [Debug] >

23:19:33 #9944 [Debug] > inl relativity_x, relativity_y =

23:19:33 #9945 [Debug] >     relativity_states

23:19:33 #9946 [Debug] >     >> Some

23:19:33 #9947 [Debug] >     |> seq.take_while_ (fun (particle_state st) i => i < 165i32)

23:19:33 #9948 [Debug] >     |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)

23:19:33 #9949 [Debug] >     |> listm'.unzip

23:19:33 #9950 [Debug] >

23:19:33 #9951 [Debug] > inl newton_x : a i32 _ = newton_x |> listm.toArray

23:19:33 #9952 [Debug] > inl newton_y : a i32 _ = newton_y |> listm.toArray

23:19:33 #9953 [Debug] >

23:19:33 #9954 [Debug] > inl relativity_x : a i32 _ = relativity_x |> listm.toArray

23:19:33 #9955 [Debug] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray

23:19:33 #9956 [Debug] >

23:19:33 #9957 [Debug] > "proton in a 1-t magnetic field",

23:19:33 #9958 [Debug] > "x (m)",

23:19:33 #9959 [Debug] > "y (m)",

23:19:33 #9960 [Debug] > ;[[

23:19:33 #9961 [Debug] >     "newtonian", newton_x, newton_y

23:19:33 #9962 [Debug] >     "relativistic", relativity_x, relativity_y

23:19:33 #9963 [Debug] > ]]

23:19:33 #9964 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3358-5810-521d04aafc04\main.spi

23:19:34 #9965 [Debug] >

23:19:34 #9966 [Debug] > ╭─[ 545.73ms - return value ]──────────────────────────────────────────────────╮

23:19:34 #9967 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:34 #9968 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:34 #9969 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:34 #9970 [Debug] > │ stroke="none"/>                                                              │

23:19:34 #9971 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:34 #9972 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #9973 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #9974 [Debug] > │ proton in a 1-t magnetic field                                               │

23:19:34 #9975 [Debug] > │ </text>                                                                      │

23:19:34 #9976 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="58" y1="424" x2="58" │

23:19:34 #9977 [Debug] > │ y2="75"/>                                                                    │

23:19:34 #9978 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:34 #9979 [Debug] > │ y2="75"/>                                                                    │

23:19:34 #9980 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="81" y1="424" x2="81" │

23:19:34 #9981 [Debug] > │ y2="75"/>                                                                    │

23:19:34 #9982 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │

23:19:34 #9983 [Debug] > │ y2="75"/>                                                                    │

23:19:34 #9984 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424"        │

23:19:34 #9985 [Debug] > │ x2="105" y2="75"/>                                                           │

23:19:34 #9986 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="117" y1="424"        │

23:19:34 #9987 [Debug] > │ x2="117" y2="75"/>                                                           │

23:19:34 #9988 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:34 #9989 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:34 #9990 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424"        │

23:19:34 #9991 [Debug] > │ x2="141" y2="75"/>                                                           │

23:19:34 #9992 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424"        │

23:19:34 #9993 [Debug] > │ x2="153" y2="75"/>                                                           │

23:19:34 #9994 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="165" y1="424"        │

23:19:34 #9995 [Debug] > │ x2="165" y2="75"/>                                                           │

23:19:34 #9996 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424"        │

23:19:34 #9997 [Debug] > │ x2="177" y2="75"/>                                                           │

23:19:34 #9998 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:34 #9999 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:34 #10000 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="201" y1="424"        │

23:19:34 #10001 [Debug] > │ x2="201" y2="75"/>                                                           │

23:19:34 #10002 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="213" y1="424"        │

23:19:34 #10003 [Debug] > │ x2="213" y2="75"/>                                                           │

23:19:34 #10004 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="225" y1="424"        │

23:19:34 #10005 [Debug] > │ x2="225" y2="75"/>                                                           │

23:19:34 #10006 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="237" y1="424"        │

23:19:34 #10007 [Debug] > │ x2="237" y2="75"/>                                                           │

23:19:34 #10008 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:34 #10009 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:34 #10010 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424"        │

23:19:34 #10011 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:34 #10012 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="273" y1="424"        │

23:19:34 #10013 [Debug] > │ x2="273" y2="75"/>                                                           │

23:19:34 #10014 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="285" y1="424"        │

23:19:34 #10015 [Debug] > │ x2="285" y2="75"/>                                                           │

23:19:34 #10016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="297" y1="424"        │

23:19:34 #10017 [Debug] > │ x2="297" y2="75"/>                                                           │

23:19:34 #10018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:34 #10019 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:34 #10020 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="321" y1="424"        │

23:19:34 #10021 [Debug] > │ x2="321" y2="75"/>                                                           │

23:19:34 #10022 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="333" y1="424"        │

23:19:34 #10023 [Debug] > │ x2="333" y2="75"/>                                                           │

23:19:34 #10024 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="345" y1="424"        │

23:19:34 #10025 [Debug] > │ x2="345" y2="75"/>                                                           │

23:19:34 #10026 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="356" y1="424"        │

23:19:34 #10027 [Debug] > │ x2="356" y2="75"/>                                                           │

23:19:34 #10028 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="368" y1="424"        │

23:19:34 #10029 [Debug] > │ x2="368" y2="75"/>                                                           │

23:19:34 #10030 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="380" y1="424"        │

23:19:34 #10031 [Debug] > │ x2="380" y2="75"/>                                                           │

23:19:34 #10032 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="392" y1="424"        │

23:19:34 #10033 [Debug] > │ x2="392" y2="75"/>                                                           │

23:19:34 #10034 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="404" y1="424"        │

23:19:34 #10035 [Debug] > │ x2="404" y2="75"/>                                                           │

23:19:34 #10036 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="416" y1="424"        │

23:19:34 #10037 [Debug] > │ x2="416" y2="75"/>                                                           │

23:19:34 #10038 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="428" y1="424"        │

23:19:34 #10039 [Debug] > │ x2="428" y2="75"/>                                                           │

23:19:34 #10040 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="440" y1="424"        │

23:19:34 #10041 [Debug] > │ x2="440" y2="75"/>                                                           │

23:19:34 #10042 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424"        │

23:19:34 #10043 [Debug] > │ x2="452" y2="75"/>                                                           │

23:19:34 #10044 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="464" y1="424"        │

23:19:34 #10045 [Debug] > │ x2="464" y2="75"/>                                                           │

23:19:34 #10046 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424"        │

23:19:34 #10047 [Debug] > │ x2="476" y2="75"/>                                                           │

23:19:34 #10048 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="488" y1="424"        │

23:19:34 #10049 [Debug] > │ x2="488" y2="75"/>                                                           │

23:19:34 #10050 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="500" y1="424"        │

23:19:34 #10051 [Debug] > │ x2="500" y2="75"/>                                                           │

23:19:34 #10052 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="512" y1="424"        │

23:19:34 #10053 [Debug] > │ x2="512" y2="75"/>                                                           │

23:19:34 #10054 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="524" y1="424"        │

23:19:34 #10055 [Debug] > │ x2="524" y2="75"/>                                                           │

23:19:34 #10056 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="536" y1="424"        │

23:19:34 #10057 [Debug] > │ x2="536" y2="75"/>                                                           │

23:19:34 #10058 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="548" y1="424"        │

23:19:34 #10059 [Debug] > │ x2="548" y2="75"/>                                                           │

23:19:34 #10060 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424"        │

23:19:34 #10061 [Debug] > │ x2="560" y2="75"/>                                                           │

23:19:34 #10062 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="408"         │

23:19:34 #10063 [Debug] > │ x2="584" y2="408"/>                                                          │

23:19:34 #10064 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="388"         │

23:19:34 #10065 [Debug] > │ x2="584" y2="388"/>                                                          │

23:19:34 #10066 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368"         │

23:19:34 #10067 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:34 #10068 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349"         │

23:19:34 #10069 [Debug] > │ x2="584" y2="349"/>                                                          │

23:19:34 #10070 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="329"         │

23:19:34 #10071 [Debug] > │ x2="584" y2="329"/>                                                          │

23:19:34 #10072 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="309"         │

23:19:34 #10073 [Debug] > │ x2="584" y2="309"/>                                                          │

23:19:34 #10074 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="289"         │

23:19:34 #10075 [Debug] > │ x2="584" y2="289"/>                                                          │

23:19:34 #10076 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="270"         │

23:19:34 #10077 [Debug] > │ x2="584" y2="270"/>                                                          │

23:19:34 #10078 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250"         │

23:19:34 #10079 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:34 #10080 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="230"         │

23:19:34 #10081 [Debug] > │ x2="584" y2="230"/>                                                          │

23:19:34 #10082 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="211"         │

23:19:34 #10083 [Debug] > │ x2="584" y2="211"/>                                                          │

23:19:34 #10084 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="191"         │

23:19:34 #10085 [Debug] > │ x2="584" y2="191"/>                                                          │

23:19:34 #10086 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="171"         │

23:19:34 #10087 [Debug] > │ x2="584" y2="171"/>                                                          │

23:19:34 #10088 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151"         │

23:19:34 #10089 [Debug] > │ x2="584" y2="151"/>                                                          │

23:19:34 #10090 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="132"         │

23:19:34 #10091 [Debug] > │ x2="584" y2="132"/>                                                          │

23:19:34 #10092 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="112"         │

23:19:34 #10093 [Debug] > │ x2="584" y2="112"/>                                                          │

23:19:34 #10094 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="92" x2="584" │

23:19:34 #10095 [Debug] > │ y2="92"/>                                                                    │

23:19:34 #10096 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:34 #10097 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10098 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10099 [Debug] > │ x (m)                                                                        │

23:19:34 #10100 [Debug] > │ </text>                                                                      │

23:19:34 #10101 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:34 #10102 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10103 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:34 #10104 [Debug] > │ y (m)                                                                        │

23:19:34 #10105 [Debug] > │ </text>                                                                      │

23:19:34 #10106 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:34 #10107 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10108 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10109 [Debug] > │ x (m)                                                                        │

23:19:34 #10110 [Debug] > │ </text>                                                                      │

23:19:34 #10111 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10112 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10113 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:34 #10114 [Debug] > │ y (m)                                                                        │

23:19:34 #10115 [Debug] > │ </text>                                                                      │

23:19:34 #10116 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:34 #10117 [Debug] > │ y2="75"/>                                                                    │

23:19:34 #10118 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:34 #10119 [Debug] > │ y2="75"/>                                                                    │

23:19:34 #10120 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="129" y1="424"        │

23:19:34 #10121 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:34 #10122 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="159" y1="424"        │

23:19:34 #10123 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:34 #10124 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="189" y1="424"        │

23:19:34 #10125 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:34 #10126 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:34 #10127 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:34 #10128 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="249" y1="424"        │

23:19:34 #10129 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:34 #10130 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="279" y1="424"        │

23:19:34 #10131 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:34 #10132 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="309" y1="424"        │

23:19:34 #10133 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:34 #10134 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="339" y1="424"        │

23:19:34 #10135 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:34 #10136 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="368" y1="424"        │

23:19:34 #10137 [Debug] > │ x2="368" y2="75"/>                                                           │

23:19:34 #10138 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="398" y1="424"        │

23:19:34 #10139 [Debug] > │ x2="398" y2="75"/>                                                           │

23:19:34 #10140 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="428" y1="424"        │

23:19:34 #10141 [Debug] > │ x2="428" y2="75"/>                                                           │

23:19:34 #10142 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="458" y1="424"        │

23:19:34 #10143 [Debug] > │ x2="458" y2="75"/>                                                           │

23:19:34 #10144 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="488" y1="424"        │

23:19:34 #10145 [Debug] > │ x2="488" y2="75"/>                                                           │

23:19:34 #10146 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="518" y1="424"        │

23:19:34 #10147 [Debug] > │ x2="518" y2="75"/>                                                           │

23:19:34 #10148 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="548" y1="424"        │

23:19:34 #10149 [Debug] > │ x2="548" y2="75"/>                                                           │

23:19:34 #10150 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="578" y1="424"        │

23:19:34 #10151 [Debug] > │ x2="578" y2="75"/>                                                           │

23:19:34 #10152 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="408"         │

23:19:34 #10153 [Debug] > │ x2="584" y2="408"/>                                                          │

23:19:34 #10154 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="368"         │

23:19:34 #10155 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:34 #10156 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="329"         │

23:19:34 #10157 [Debug] > │ x2="584" y2="329"/>                                                          │

23:19:34 #10158 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="289"         │

23:19:34 #10159 [Debug] > │ x2="584" y2="289"/>                                                          │

23:19:34 #10160 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250"         │

23:19:34 #10161 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:34 #10162 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="211"         │

23:19:34 #10163 [Debug] > │ x2="584" y2="211"/>                                                          │

23:19:34 #10164 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="171"         │

23:19:34 #10165 [Debug] > │ x2="584" y2="171"/>                                                          │

23:19:34 #10166 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="132"         │

23:19:34 #10167 [Debug] > │ x2="584" y2="132"/>                                                          │

23:19:34 #10168 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="92" x2="584" │

23:19:34 #10169 [Debug] > │ y2="92"/>                                                                    │

23:19:34 #10170 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10171 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:34 #10172 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:34 #10173 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10174 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10175 [Debug] > │ 0.0                                                                          │

23:19:34 #10176 [Debug] > │ </text>                                                                      │

23:19:34 #10177 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10178 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:34 #10179 [Debug] > │ <text x="99" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:34 #10180 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10181 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10182 [Debug] > │ 0.5                                                                          │

23:19:34 #10183 [Debug] > │ </text>                                                                      │

23:19:34 #10184 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10185 [Debug] > │ points="99,69 99,74 "/>                                                      │

23:19:34 #10186 [Debug] > │ <text x="129" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10187 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10188 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10189 [Debug] > │ 1.0                                                                          │

23:19:34 #10190 [Debug] > │ </text>                                                                      │

23:19:34 #10191 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10192 [Debug] > │ points="129,69 129,74 "/>                                                    │

23:19:34 #10193 [Debug] > │ <text x="159" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10194 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10195 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10196 [Debug] > │ 1.5                                                                          │

23:19:34 #10197 [Debug] > │ </text>                                                                      │

23:19:34 #10198 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10199 [Debug] > │ points="159,69 159,74 "/>                                                    │

23:19:34 #10200 [Debug] > │ <text x="189" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10201 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10202 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10203 [Debug] > │ 2.0                                                                          │

23:19:34 #10204 [Debug] > │ </text>                                                                      │

23:19:34 #10205 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10206 [Debug] > │ points="189,69 189,74 "/>                                                    │

23:19:34 #10207 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10208 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10209 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10210 [Debug] > │ 2.5                                                                          │

23:19:34 #10211 [Debug] > │ </text>                                                                      │

23:19:34 #10212 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10213 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:34 #10214 [Debug] > │ <text x="249" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10215 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10216 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10217 [Debug] > │ 3.0                                                                          │

23:19:34 #10218 [Debug] > │ </text>                                                                      │

23:19:34 #10219 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10220 [Debug] > │ points="249,69 249,74 "/>                                                    │

23:19:34 #10221 [Debug] > │ <text x="279" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10222 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10223 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10224 [Debug] > │ 3.5                                                                          │

23:19:34 #10225 [Debug] > │ </text>                                                                      │

23:19:34 #10226 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10227 [Debug] > │ points="279,69 279,74 "/>                                                    │

23:19:34 #10228 [Debug] > │ <text x="309" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10229 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10230 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10231 [Debug] > │ 4.0                                                                          │

23:19:34 #10232 [Debug] > │ </text>                                                                      │

23:19:34 #10233 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10234 [Debug] > │ points="309,69 309,74 "/>                                                    │

23:19:34 #10235 [Debug] > │ <text x="339" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10236 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10237 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10238 [Debug] > │ 4.5                                                                          │

23:19:34 #10239 [Debug] > │ </text>                                                                      │

23:19:34 #10240 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10241 [Debug] > │ points="339,69 339,74 "/>                                                    │

23:19:34 #10242 [Debug] > │ <text x="368" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10243 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10244 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10245 [Debug] > │ 5.0                                                                          │

23:19:34 #10246 [Debug] > │ </text>                                                                      │

23:19:34 #10247 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10248 [Debug] > │ points="368,69 368,74 "/>                                                    │

23:19:34 #10249 [Debug] > │ <text x="398" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10250 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10251 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10252 [Debug] > │ 5.5                                                                          │

23:19:34 #10253 [Debug] > │ </text>                                                                      │

23:19:34 #10254 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10255 [Debug] > │ points="398,69 398,74 "/>                                                    │

23:19:34 #10256 [Debug] > │ <text x="428" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10257 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10258 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10259 [Debug] > │ 6.0                                                                          │

23:19:34 #10260 [Debug] > │ </text>                                                                      │

23:19:34 #10261 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10262 [Debug] > │ points="428,69 428,74 "/>                                                    │

23:19:34 #10263 [Debug] > │ <text x="458" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10264 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10265 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10266 [Debug] > │ 6.5                                                                          │

23:19:34 #10267 [Debug] > │ </text>                                                                      │

23:19:34 #10268 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10269 [Debug] > │ points="458,69 458,74 "/>                                                    │

23:19:34 #10270 [Debug] > │ <text x="488" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10271 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10272 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10273 [Debug] > │ 7.0                                                                          │

23:19:34 #10274 [Debug] > │ </text>                                                                      │

23:19:34 #10275 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10276 [Debug] > │ points="488,69 488,74 "/>                                                    │

23:19:34 #10277 [Debug] > │ <text x="518" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10278 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10279 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10280 [Debug] > │ 7.5                                                                          │

23:19:34 #10281 [Debug] > │ </text>                                                                      │

23:19:34 #10282 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10283 [Debug] > │ points="518,69 518,74 "/>                                                    │

23:19:34 #10284 [Debug] > │ <text x="548" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10285 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10286 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10287 [Debug] > │ 8.0                                                                          │

23:19:34 #10288 [Debug] > │ </text>                                                                      │

23:19:34 #10289 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10290 [Debug] > │ points="548,69 548,74 "/>                                                    │

23:19:34 #10291 [Debug] > │ <text x="578" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:34 #10292 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10293 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10294 [Debug] > │ 8.5                                                                          │

23:19:34 #10295 [Debug] > │ </text>                                                                      │

23:19:34 #10296 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10297 [Debug] > │ points="578,69 578,74 "/>                                                    │

23:19:34 #10298 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10299 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:34 #10300 [Debug] > │ <text x="45" y="408" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10301 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10302 [Debug] > │ -4.0                                                                         │

23:19:34 #10303 [Debug] > │ </text>                                                                      │

23:19:34 #10304 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10305 [Debug] > │ points="49,408 54,408 "/>                                                    │

23:19:34 #10306 [Debug] > │ <text x="45" y="368" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10307 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10308 [Debug] > │ -3.0                                                                         │

23:19:34 #10309 [Debug] > │ </text>                                                                      │

23:19:34 #10310 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10311 [Debug] > │ points="49,368 54,368 "/>                                                    │

23:19:34 #10312 [Debug] > │ <text x="45" y="329" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10313 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10314 [Debug] > │ -2.0                                                                         │

23:19:34 #10315 [Debug] > │ </text>                                                                      │

23:19:34 #10316 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10317 [Debug] > │ points="49,329 54,329 "/>                                                    │

23:19:34 #10318 [Debug] > │ <text x="45" y="289" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10319 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10320 [Debug] > │ -1.0                                                                         │

23:19:34 #10321 [Debug] > │ </text>                                                                      │

23:19:34 #10322 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10323 [Debug] > │ points="49,289 54,289 "/>                                                    │

23:19:34 #10324 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10325 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10326 [Debug] > │ 0.0                                                                          │

23:19:34 #10327 [Debug] > │ </text>                                                                      │

23:19:34 #10328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10329 [Debug] > │ points="49,250 54,250 "/>                                                    │

23:19:34 #10330 [Debug] > │ <text x="45" y="211" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10331 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10332 [Debug] > │ 1.0                                                                          │

23:19:34 #10333 [Debug] > │ </text>                                                                      │

23:19:34 #10334 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10335 [Debug] > │ points="49,211 54,211 "/>                                                    │

23:19:34 #10336 [Debug] > │ <text x="45" y="171" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10337 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10338 [Debug] > │ 2.0                                                                          │

23:19:34 #10339 [Debug] > │ </text>                                                                      │

23:19:34 #10340 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10341 [Debug] > │ points="49,171 54,171 "/>                                                    │

23:19:34 #10342 [Debug] > │ <text x="45" y="132" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10343 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10344 [Debug] > │ 3.0                                                                          │

23:19:34 #10345 [Debug] > │ </text>                                                                      │

23:19:34 #10346 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10347 [Debug] > │ points="49,132 54,132 "/>                                                    │

23:19:34 #10348 [Debug] > │ <text x="45" y="92" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:34 #10349 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10350 [Debug] > │ 4.0                                                                          │

23:19:34 #10351 [Debug] > │ </text>                                                                      │

23:19:34 #10352 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10353 [Debug] > │ points="49,92 54,92 "/>                                                      │

23:19:34 #10354 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10355 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:34 #10356 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:34 #10357 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10358 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10359 [Debug] > │ 0.0                                                                          │

23:19:34 #10360 [Debug] > │ </text>                                                                      │

23:19:34 #10361 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10362 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:34 #10363 [Debug] > │ <text x="99" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:34 #10364 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10365 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10366 [Debug] > │ 0.5                                                                          │

23:19:34 #10367 [Debug] > │ </text>                                                                      │

23:19:34 #10368 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10369 [Debug] > │ points="99,425 99,430 "/>                                                    │

23:19:34 #10370 [Debug] > │ <text x="129" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10371 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10372 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10373 [Debug] > │ 1.0                                                                          │

23:19:34 #10374 [Debug] > │ </text>                                                                      │

23:19:34 #10375 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10376 [Debug] > │ points="129,425 129,430 "/>                                                  │

23:19:34 #10377 [Debug] > │ <text x="159" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10378 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10379 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10380 [Debug] > │ 1.5                                                                          │

23:19:34 #10381 [Debug] > │ </text>                                                                      │

23:19:34 #10382 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10383 [Debug] > │ points="159,425 159,430 "/>                                                  │

23:19:34 #10384 [Debug] > │ <text x="189" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10385 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10386 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10387 [Debug] > │ 2.0                                                                          │

23:19:34 #10388 [Debug] > │ </text>                                                                      │

23:19:34 #10389 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10390 [Debug] > │ points="189,425 189,430 "/>                                                  │

23:19:34 #10391 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10392 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10393 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10394 [Debug] > │ 2.5                                                                          │

23:19:34 #10395 [Debug] > │ </text>                                                                      │

23:19:34 #10396 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10397 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:34 #10398 [Debug] > │ <text x="249" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10399 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10400 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10401 [Debug] > │ 3.0                                                                          │

23:19:34 #10402 [Debug] > │ </text>                                                                      │

23:19:34 #10403 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10404 [Debug] > │ points="249,425 249,430 "/>                                                  │

23:19:34 #10405 [Debug] > │ <text x="279" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10406 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10407 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10408 [Debug] > │ 3.5                                                                          │

23:19:34 #10409 [Debug] > │ </text>                                                                      │

23:19:34 #10410 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10411 [Debug] > │ points="279,425 279,430 "/>                                                  │

23:19:34 #10412 [Debug] > │ <text x="309" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10413 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10414 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10415 [Debug] > │ 4.0                                                                          │

23:19:34 #10416 [Debug] > │ </text>                                                                      │

23:19:34 #10417 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10418 [Debug] > │ points="309,425 309,430 "/>                                                  │

23:19:34 #10419 [Debug] > │ <text x="339" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10420 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10421 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10422 [Debug] > │ 4.5                                                                          │

23:19:34 #10423 [Debug] > │ </text>                                                                      │

23:19:34 #10424 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10425 [Debug] > │ points="339,425 339,430 "/>                                                  │

23:19:34 #10426 [Debug] > │ <text x="368" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10427 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10428 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10429 [Debug] > │ 5.0                                                                          │

23:19:34 #10430 [Debug] > │ </text>                                                                      │

23:19:34 #10431 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10432 [Debug] > │ points="368,425 368,430 "/>                                                  │

23:19:34 #10433 [Debug] > │ <text x="398" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10434 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10435 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10436 [Debug] > │ 5.5                                                                          │

23:19:34 #10437 [Debug] > │ </text>                                                                      │

23:19:34 #10438 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10439 [Debug] > │ points="398,425 398,430 "/>                                                  │

23:19:34 #10440 [Debug] > │ <text x="428" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10441 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10442 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10443 [Debug] > │ 6.0                                                                          │

23:19:34 #10444 [Debug] > │ </text>                                                                      │

23:19:34 #10445 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10446 [Debug] > │ points="428,425 428,430 "/>                                                  │

23:19:34 #10447 [Debug] > │ <text x="458" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10448 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10449 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10450 [Debug] > │ 6.5                                                                          │

23:19:34 #10451 [Debug] > │ </text>                                                                      │

23:19:34 #10452 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10453 [Debug] > │ points="458,425 458,430 "/>                                                  │

23:19:34 #10454 [Debug] > │ <text x="488" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10455 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10456 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10457 [Debug] > │ 7.0                                                                          │

23:19:34 #10458 [Debug] > │ </text>                                                                      │

23:19:34 #10459 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10460 [Debug] > │ points="488,425 488,430 "/>                                                  │

23:19:34 #10461 [Debug] > │ <text x="518" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10462 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10463 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10464 [Debug] > │ 7.5                                                                          │

23:19:34 #10465 [Debug] > │ </text>                                                                      │

23:19:34 #10466 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10467 [Debug] > │ points="518,425 518,430 "/>                                                  │

23:19:34 #10468 [Debug] > │ <text x="548" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10469 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10470 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10471 [Debug] > │ 8.0                                                                          │

23:19:34 #10472 [Debug] > │ </text>                                                                      │

23:19:34 #10473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10474 [Debug] > │ points="548,425 548,430 "/>                                                  │

23:19:34 #10475 [Debug] > │ <text x="578" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:34 #10476 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10477 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10478 [Debug] > │ 8.5                                                                          │

23:19:34 #10479 [Debug] > │ </text>                                                                      │

23:19:34 #10480 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10481 [Debug] > │ points="578,425 578,430 "/>                                                  │

23:19:34 #10482 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10483 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:34 #10484 [Debug] > │ <text x="595" y="408" dy="0.5ex" text-anchor="start"                         │

23:19:34 #10485 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10486 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10487 [Debug] > │ -4.0                                                                         │

23:19:34 #10488 [Debug] > │ </text>                                                                      │

23:19:34 #10489 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10490 [Debug] > │ points="585,408 590,408 "/>                                                  │

23:19:34 #10491 [Debug] > │ <text x="595" y="368" dy="0.5ex" text-anchor="start"                         │

23:19:34 #10492 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10493 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10494 [Debug] > │ -3.0                                                                         │

23:19:34 #10495 [Debug] > │ </text>                                                                      │

23:19:34 #10496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10497 [Debug] > │ points="585,368 590,368 "/>                                                  │

23:19:34 #10498 [Debug] > │ <text x="595" y="329" dy="0.5ex" text-anchor="start"                         │

23:19:34 #10499 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10500 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10501 [Debug] > │ -2.0                                                                         │

23:19:34 #10502 [Debug] > │ </text>                                                                      │

23:19:34 #10503 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10504 [Debug] > │ points="585,329 590,329 "/>                                                  │

23:19:34 #10505 [Debug] > │ <text x="595" y="289" dy="0.5ex" text-anchor="start"                         │

23:19:34 #10506 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10507 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10508 [Debug] > │ -1.0                                                                         │

23:19:34 #10509 [Debug] > │ </text>                                                                      │

23:19:34 #10510 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10511 [Debug] > │ points="585,289 590,289 "/>                                                  │

23:19:34 #10512 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:34 #10513 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10514 [Debug] > │ 0.0                                                                          │

23:19:34 #10515 [Debug] > │ </text>                                                                      │

23:19:34 #10516 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10517 [Debug] > │ points="585,250 590,250 "/>                                                  │

23:19:34 #10518 [Debug] > │ <text x="617" y="211" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:34 #10519 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10520 [Debug] > │ 1.0                                                                          │

23:19:34 #10521 [Debug] > │ </text>                                                                      │

23:19:34 #10522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10523 [Debug] > │ points="585,211 590,211 "/>                                                  │

23:19:34 #10524 [Debug] > │ <text x="617" y="171" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:34 #10525 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10526 [Debug] > │ 2.0                                                                          │

23:19:34 #10527 [Debug] > │ </text>                                                                      │

23:19:34 #10528 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10529 [Debug] > │ points="585,171 590,171 "/>                                                  │

23:19:34 #10530 [Debug] > │ <text x="617" y="132" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:34 #10531 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10532 [Debug] > │ 3.0                                                                          │

23:19:34 #10533 [Debug] > │ </text>                                                                      │

23:19:34 #10534 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10535 [Debug] > │ points="585,132 590,132 "/>                                                  │

23:19:34 #10536 [Debug] > │ <text x="617" y="92" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:34 #10537 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:34 #10538 [Debug] > │ 4.0                                                                          │

23:19:34 #10539 [Debug] > │ </text>                                                                      │

23:19:34 #10540 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:34 #10541 [Debug] > │ points="585,92 590,92 "/>                                                    │

23:19:34 #10542 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:34 #10543 [Debug] > │ points="69,250 70,241 72,231 76,222 80,213 86,204 94,196 102,189 111,181     │

23:19:34 #10544 [Debug] > │ 122,175 133,169 145,164 158,160 171,156 185,154 199,152 213,151 228,151      │

23:19:34 #10545 [Debug] > │ 242,152 256,154 270,157 283,161 296,165 308,170 319,176 329,183 338,190      │

23:19:34 #10546 [Debug] > │ 346,198 353,206 359,215 364,224 367,233 368,242 369,252 368,261 366,271      │

23:19:34 #10547 [Debug] > │ 362,280 357,289 351,297 343,305 335,313 325,320 314,326 303,332 291,337      │

23:19:34 #10548 [Debug] > │ 278,341 264,344 250,347 236,348 222,349 208,348 193,347 179,345 166,342      │

23:19:34 #10549 [Debug] > │ 153,338 140,334 128,329 117,322 107,316 98,308 90,300 84,292 78,283 74,274   │

23:19:34 #10550 [Debug] > │ 71,265 70,256 70,246 71,237 73,227 77,218 83,210 89,201 97,193 106,186       │

23:19:34 #10551 [Debug] > │ 115,179 126,173 138,167 150,162 163,158 177,155 191,153 205,152 219,151      │

23:19:34 #10552 [Debug] > │ 234,152 248,153 262,155 275,158 288,162 301,167 312,173 323,179 333,186      │

23:19:34 #10553 [Debug] > │ 342,193 349,201 356,210 361,218 365,228 368,237 369,246 369,256 "/>          │

23:19:34 #10554 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:34 #10555 [Debug] > │ points="69,250 70,241 71,231 73,222 76,212 80,203 84,194 89,186 95,177       │

23:19:34 #10556 [Debug] > │ 102,169 110,160 118,153 127,145 136,138 146,131 157,125 168,119 179,114      │

23:19:34 #10557 [Debug] > │ 192,108 204,104 217,100 230,96 244,93 258,90 272,88 286,87 300,86 314,85     │

23:19:34 #10558 [Debug] > │ 329,85 343,86 357,87 371,89 385,91 399,94 412,97 425,101 438,105 451,110     │

23:19:34 #10559 [Debug] > │ 463,115 474,121 485,127 495,134 505,140 515,148 523,155 531,163 538,171      │

23:19:34 #10560 [Debug] > │ 545,180 550,188 555,197 560,206 563,216 566,225 567,234 568,244 568,253      │

23:19:34 #10561 [Debug] > │ 568,263 566,272 564,281 561,291 557,300 552,309 547,317 540,326 533,334      │

23:19:34 #10562 [Debug] > │ 526,342 517,350 508,357 499,364 488,371 478,377 466,383 455,388 442,393      │

23:19:34 #10563 [Debug] > │ 430,398 417,402 403,405 390,408 376,410 362,412 348,414 333,414 319,415      │

23:19:34 #10564 [Debug] > │ 305,414 290,414 276,412 262,410 248,408 235,405 221,401 208,397 196,393      │

23:19:34 #10565 [Debug] > │ 183,388 171,383 160,377 149,371 139,364 129,357 120,350 112,342 104,334      │

23:19:34 #10566 [Debug] > │ 97,326 91,317 86,309 81,300 77,290 74,281 72,272 70,263 70,253 70,244 71,234 │

23:19:34 #10567 [Debug] > │ 72,225 75,215 78,206 83,197 88,188 93,180 100,171 107,163 115,155 124,148    │

23:19:34 #10568 [Debug] > │ 133,140 143,133 153,127 164,121 176,115 188,110 200,105 213,101 226,97       │

23:19:34 #10569 [Debug] > │ 239,94 253,91 267,89 281,87 295,86 310,85 324,85 338,86 353,87 367,88 381,90 │

23:19:34 #10570 [Debug] > │ 394,93 408,96 421,100 434,104 447,109 459,114 470,119 482,125 492,131        │

23:19:34 #10571 [Debug] > │ 502,138 512,145 520,153 529,161 536,169 543,177 549,186 554,194 558,203      │

23:19:34 #10572 [Debug] > │ 562,213 565,222 567,231 568,241 569,250 "/>                                  │

23:19:34 #10573 [Debug] > │ <rect x="464" y="227" width="116" height="45" opacity="1" fill="none"        │

23:19:34 #10574 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:34 #10575 [Debug] > │ <text x="504" y="237" dy="0.76em" text-anchor="start"                        │

23:19:34 #10576 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10577 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10578 [Debug] > │ newtonian                                                                    │

23:19:34 #10579 [Debug] > │ </text>                                                                      │

23:19:34 #10580 [Debug] > │ <text x="504" y="252" dy="0.76em" text-anchor="start"                        │

23:19:34 #10581 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:34 #10582 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:34 #10583 [Debug] > │ relativistic                                                                 │

23:19:34 #10584 [Debug] > │ </text>                                                                      │

23:19:34 #10585 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:34 #10586 [Debug] > │ points="474,242 494,242 "/>                                                  │

23:19:34 #10587 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:34 #10588 [Debug] > │ points="474,257 494,257 "/>                                                  │

23:19:34 #10589 [Debug] > │ </svg>                                                                       │

23:19:34 #10590 [Debug] > │                                                                              │

23:19:34 #10591 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:34 #10592 [Debug] >

23:19:34 #10593 [Debug] > ╭─[ 893.84ms - stdout ]────────────────────────────────────────────────────────╮

23:19:34 #10594 [Debug] > │ type UH0 =                                                                   │

23:19:34 #10595 [Debug] > │     | UH0_0 of float * float * float * float * float * float * float * float │

23:19:34 #10596 [Debug] > │ * float * UH0                                                                │

23:19:34 #10597 [Debug] > │     | UH0_1                                                                  │

23:19:34 #10598 [Debug] > │ and UH1 =                                                                    │

23:19:34 #10599 [Debug] > │     | UH1_0 of float * float * UH1                                           │

23:19:34 #10600 [Debug] > │     | UH1_1                                                                  │

23:19:34 #10601 [Debug] > │ and UH2 =                                                                    │

23:19:34 #10602 [Debug] > │     | UH2_0 of float * UH2                                                   │

23:19:34 #10603 [Debug] > │     | UH2_1                                                                  │

23:19:34 #10604 [Debug] > │ let rec closure1 (v0 : (struct (float * float * float * float * float *      │

23:19:34 #10605 [Debug] > │ float * float * float * float) -> struct (float * float * float * float *    │

23:19:34 #10606 [Debug] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3  │

23:19:34 #10607 [Debug] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 :    │

23:19:34 #10608 [Debug] > │ float) : struct (float * float * float * float * float * float * float *     │

23:19:34 #10609 [Debug] > │ float * float) =                                                             │

23:19:34 #10610 [Debug] > │     let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 :    │

23:19:34 #10611 [Debug] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1,  │

23:19:34 #10612 [Debug] > │ v2, v3, v4, v5, v6, v7, v8, v9)                                              │

23:19:34 #10613 [Debug] > │     let v19 : float = v15 * 5E-10                                            │

23:19:34 #10614 [Debug] > │     let v20 : float = v6 + v19                                               │

23:19:34 #10615 [Debug] > │     let v21 : float = 5E-10 * v12                                            │

23:19:34 #10616 [Debug] > │     let v22 : float = 5E-10 * v13                                            │

23:19:34 #10617 [Debug] > │     let v23 : float = 5E-10 * v14                                            │

23:19:34 #10618 [Debug] > │     let v24 : float = v3 + v21                                               │

23:19:34 #10619 [Debug] > │     let v25 : float = v4 + v22                                               │

23:19:34 #10620 [Debug] > │     let v26 : float = v5 + v23                                               │

23:19:34 #10621 [Debug] > │     let v27 : float = 5E-10 * v16                                            │

23:19:34 #10622 [Debug] > │     let v28 : float = 5E-10 * v17                                            │

23:19:34 #10623 [Debug] > │     let v29 : float = 5E-10 * v18                                            │

23:19:34 #10624 [Debug] > │     let v30 : float = v7 + v27                                               │

23:19:34 #10625 [Debug] > │     let v31 : float = v8 + v28                                               │

23:19:34 #10626 [Debug] > │     let v32 : float = v9 + v29                                               │

23:19:34 #10627 [Debug] > │     let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 :    │

23:19:34 #10628 [Debug] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1,  │

23:19:34 #10629 [Debug] > │ v2, v24, v25, v26, v20, v30, v31, v32)                                       │

23:19:34 #10630 [Debug] > │     let v42 : float = v38 * 5E-10                                            │

23:19:34 #10631 [Debug] > │     let v43 : float = v6 + v42                                               │

23:19:34 #10632 [Debug] > │     let v44 : float = 5E-10 * v35                                            │

23:19:34 #10633 [Debug] > │     let v45 : float = 5E-10 * v36                                            │

23:19:34 #10634 [Debug] > │     let v46 : float = 5E-10 * v37                                            │

23:19:34 #10635 [Debug] > │     let v47 : float = v3 + v44                                               │

23:19:34 #10636 [Debug] > │     let v48 : float = v4 + v45                                               │

23:19:34 #10637 [Debug] > │     let v49 : float = v5 + v46                                               │

23:19:34 #10638 [Debug] > │     let v50 : float = 5E-10 * v39                                            │

23:19:34 #10639 [Debug] > │     let v51 : float = 5E-10 * v40                                            │

23:19:34 #10640 [Debug] > │     let v52 : float = 5E-10 * v41                                            │

23:19:34 #10641 [Debug] > │     let v53 : float = v7 + v50                                               │

23:19:34 #10642 [Debug] > │     let v54 : float = v8 + v51                                               │

23:19:34 #10643 [Debug] > │     let v55 : float = v9 + v52                                               │

23:19:34 #10644 [Debug] > │     let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 :    │

23:19:34 #10645 [Debug] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1,  │

23:19:34 #10646 [Debug] > │ v2, v47, v48, v49, v43, v53, v54, v55)                                       │

23:19:34 #10647 [Debug] > │     let v65 : float = v61 * 1E-09                                            │

23:19:34 #10648 [Debug] > │     let v66 : float = v6 + v65                                               │

23:19:34 #10649 [Debug] > │     let v67 : float = 1E-09 * v58                                            │

23:19:34 #10650 [Debug] > │     let v68 : float = 1E-09 * v59                                            │

23:19:34 #10651 [Debug] > │     let v69 : float = 1E-09 * v60                                            │

23:19:34 #10652 [Debug] > │     let v70 : float = v3 + v67                                               │

23:19:34 #10653 [Debug] > │     let v71 : float = v4 + v68                                               │

23:19:34 #10654 [Debug] > │     let v72 : float = v5 + v69                                               │

23:19:34 #10655 [Debug] > │     let v73 : float = 1E-09 * v62                                            │

23:19:34 #10656 [Debug] > │     let v74 : float = 1E-09 * v63                                            │

23:19:34 #10657 [Debug] > │     let v75 : float = 1E-09 * v64                                            │

23:19:34 #10658 [Debug] > │     let v76 : float = v7 + v73                                               │

23:19:34 #10659 [Debug] > │     let v77 : float = v8 + v74                                               │

23:19:34 #10660 [Debug] > │     let v78 : float = v9 + v75                                               │

23:19:34 #10661 [Debug] > │     let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 :    │

23:19:34 #10662 [Debug] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1,  │

23:19:34 #10663 [Debug] > │ v2, v70, v71, v72, v66, v76, v77, v78)                                       │

23:19:34 #10664 [Debug] > │     let v88 : float = v10 + v33                                              │

23:19:34 #10665 [Debug] > │     let v89 : float = v11 + v34                                              │

23:19:34 #10666 [Debug] > │     let v90 : float = v15 + v38                                              │

23:19:34 #10667 [Debug] > │     let v91 : float = v12 + v35                                              │

23:19:34 #10668 [Debug] > │     let v92 : float = v13 + v36                                              │

23:19:34 #10669 [Debug] > │     let v93 : float = v14 + v37                                              │

23:19:34 #10670 [Debug] > │     let v94 : float = v16 + v39                                              │

23:19:34 #10671 [Debug] > │     let v95 : float = v17 + v40                                              │

23:19:34 #10672 [Debug] > │     let v96 : float = v18 + v41                                              │

23:19:34 #10673 [Debug] > │     let v97 : float = v88 + v33                                              │

23:19:34 #10674 [Debug] > │     let v98 : float = v89 + v34                                              │

23:19:34 #10675 [Debug] > │     let v99 : float = v90 + v38                                              │

23:19:34 #10676 [Debug] > │     let v100 : float = v91 + v35                                             │

23:19:34 #10677 [Debug] > │     let v101 : float = v92 + v36                                             │

23:19:34 #10678 [Debug] > │     let v102 : float = v93 + v37                                             │

23:19:34 #10679 [Debug] > │     let v103 : float = v94 + v39                                             │

23:19:34 #10680 [Debug] > │     let v104 : float = v95 + v40                                             │

23:19:34 #10681 [Debug] > │     let v105 : float = v96 + v41                                             │

23:19:34 #10682 [Debug] > │     let v106 : float = v97 + v56                                             │

23:19:34 #10683 [Debug] > │     let v107 : float = v98 + v57                                             │

23:19:34 #10684 [Debug] > │     let v108 : float = v99 + v61                                             │

23:19:34 #10685 [Debug] > │     let v109 : float = v100 + v58                                            │

23:19:34 #10686 [Debug] > │     let v110 : float = v101 + v59                                            │

23:19:34 #10687 [Debug] > │     let v111 : float = v102 + v60                                            │

23:19:34 #10688 [Debug] > │     let v112 : float = v103 + v62                                            │

23:19:34 #10689 [Debug] > │     let v113 : float = v104 + v63                                            │

23:19:34 #10690 [Debug] > │     let v114 : float = v105 + v64                                            │

23:19:34 #10691 [Debug] > │     let v115 : float = v106 + v56                                            │

23:19:34 #10692 [Debug] > │     let v116 : float = v107 + v57                                            │

23:19:34 #10693 [Debug] > │     let v117 : float = v108 + v61                                            │

23:19:34 #10694 [Debug] > │     let v118 : float = v109 + v58                                            │

23:19:34 #10695 [Debug] > │     let v119 : float = v110 + v59                                            │

23:19:34 #10696 [Debug] > │     let v120 : float = v111 + v60                                            │

23:19:34 #10697 [Debug] > │     let v121 : float = v112 + v62                                            │

23:19:34 #10698 [Debug] > │     let v122 : float = v113 + v63                                            │

23:19:34 #10699 [Debug] > │     let v123 : float = v114 + v64                                            │

23:19:34 #10700 [Debug] > │     let v124 : float = v115 + v79                                            │

23:19:34 #10701 [Debug] > │     let v125 : float = v116 + v80                                            │

23:19:34 #10702 [Debug] > │     let v126 : float = v117 + v84                                            │

23:19:34 #10703 [Debug] > │     let v127 : float = v118 + v81                                            │

23:19:34 #10704 [Debug] > │     let v128 : float = v119 + v82                                            │

23:19:34 #10705 [Debug] > │     let v129 : float = v120 + v83                                            │

23:19:34 #10706 [Debug] > │     let v130 : float = v121 + v85                                            │

23:19:34 #10707 [Debug] > │     let v131 : float = v122 + v86                                            │

23:19:34 #10708 [Debug] > │     let v132 : float = v123 + v87                                            │

23:19:34 #10709 [Debug] > │     let v133 : float = v126 * 1.6666666666666669E-10                         │

23:19:34 #10710 [Debug] > │     let v134 : float = v6 + v133                                             │

23:19:34 #10711 [Debug] > │     let v135 : float = 1.6666666666666669E-10 * v127                         │

23:19:34 #10712 [Debug] > │     let v136 : float = 1.6666666666666669E-10 * v128                         │

23:19:34 #10713 [Debug] > │     let v137 : float = 1.6666666666666669E-10 * v129                         │

23:19:34 #10714 [Debug] > │     let v138 : float = v3 + v135                                             │

23:19:34 #10715 [Debug] > │     let v139 : float = v4 + v136                                             │

23:19:34 #10716 [Debug] > │     let v140 : float = v5 + v137                                             │

23:19:34 #10717 [Debug] > │     let v141 : float = 1.6666666666666669E-10 * v130                         │

23:19:34 #10718 [Debug] > │     let v142 : float = 1.6666666666666669E-10 * v131                         │

23:19:34 #10719 [Debug] > │     let v143 : float = 1.6666666666666669E-10 * v132                         │

23:19:34 #10720 [Debug] > │     let v144 : float = v7 + v141                                             │

23:19:34 #10721 [Debug] > │     let v145 : float = v8 + v142                                             │

23:19:34 #10722 [Debug] > │     let v146 : float = v9 + v143                                             │

23:19:34 #10723 [Debug] > │     struct (v1, v2, v138, v139, v140, v134, v144, v145, v146)                │

23:19:34 #10724 [Debug] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │

23:19:34 #10725 [Debug] > │ * float * float * float) -> struct (float * float * float * float * float *  │

23:19:34 #10726 [Debug] > │ float * float * float * float))) : (struct (float * float * float * float *  │

23:19:34 #10727 [Debug] > │ float * float * float * float * float) -> struct (float * float * float *    │

23:19:34 #10728 [Debug] > │ float * float * float * float * float * float)) =                            │

23:19:34 #10729 [Debug] > │     closure1(v0)                                                             │

23:19:34 #10730 [Debug] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │

23:19:34 #10731 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float *     │

23:19:34 #10732 [Debug] > │ float * float * float * float * float * float * float * float) =             │

23:19:34 #10733 [Debug] > │     let v9 : float = v8 * 0.0                                                │

23:19:34 #10734 [Debug] > │     let v10 : float = v7 - v9                                                │

23:19:34 #10735 [Debug] > │     let v11 : float = v9 - v6                                                │

23:19:34 #10736 [Debug] > │     let v12 : float = v6 * 0.0                                               │

23:19:34 #10737 [Debug] > │     let v13 : float = v7 * 0.0                                               │

23:19:34 #10738 [Debug] > │     let v14 : float = v12 - v13                                              │

23:19:34 #10739 [Debug] > │     let v15 : float = v0 * v10                                               │

23:19:34 #10740 [Debug] > │     let v16 : float = v0 * v11                                               │

23:19:34 #10741 [Debug] > │     let v17 : float = v0 * v14                                               │

23:19:34 #10742 [Debug] > │     let v18 : float = v15 / v1                                               │

23:19:34 #10743 [Debug] > │     let v19 : float = v16 / v1                                               │

23:19:34 #10744 [Debug] > │     let v20 : float = v17 / v1                                               │

23:19:34 #10745 [Debug] > │     struct (0.0, 0.0, v6, v7, v8, 1.0, v18, v19, v20)                        │

23:19:34 #10746 [Debug] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │

23:19:34 #10747 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float *     │

23:19:34 #10748 [Debug] > │ float * float * float * float * float * float * float * float) =             │

23:19:34 #10749 [Debug] > │     let v9 : float = v8 * 0.0                                                │

23:19:34 #10750 [Debug] > │     let v10 : float = v7 - v9                                                │

23:19:34 #10751 [Debug] > │     let v11 : float = v9 - v6                                                │

23:19:34 #10752 [Debug] > │     let v12 : float = v6 * 0.0                                               │

23:19:34 #10753 [Debug] > │     let v13 : float = v7 * 0.0                                               │

23:19:34 #10754 [Debug] > │     let v14 : float = v12 - v13                                              │

23:19:34 #10755 [Debug] > │     let v15 : float = v0 * v10                                               │

23:19:34 #10756 [Debug] > │     let v16 : float = v0 * v11                                               │

23:19:34 #10757 [Debug] > │     let v17 : float = v0 * v14                                               │

23:19:34 #10758 [Debug] > │     let v18 : float = v6 / 299792458.0                                       │

23:19:34 #10759 [Debug] > │     let v19 : float = v7 / 299792458.0                                       │

23:19:34 #10760 [Debug] > │     let v20 : float = v8 / 299792458.0                                       │

23:19:34 #10761 [Debug] > │     let v21 : float = v18 * v18                                              │

23:19:34 #10762 [Debug] > │     let v22 : float = v19 * v19                                              │

23:19:34 #10763 [Debug] > │     let v23 : float = v21 + v22                                              │

23:19:34 #10764 [Debug] > │     let v24 : float = v20 * v20                                              │

23:19:34 #10765 [Debug] > │     let v25 : float = v23 + v24                                              │

23:19:34 #10766 [Debug] > │     let v26 : float = 1.0 - v25                                              │

23:19:34 #10767 [Debug] > │     let v27 : float = sqrt v26                                               │

23:19:34 #10768 [Debug] > │     let v28 : float = v15 * v18                                              │

23:19:34 #10769 [Debug] > │     let v29 : float = v16 * v19                                              │

23:19:34 #10770 [Debug] > │     let v30 : float = v28 + v29                                              │

23:19:34 #10771 [Debug] > │     let v31 : float = v17 * v20                                              │

23:19:34 #10772 [Debug] > │     let v32 : float = v30 + v31                                              │

23:19:34 #10773 [Debug] > │     let v33 : float = v32 * v18                                              │

23:19:34 #10774 [Debug] > │     let v34 : float = v32 * v19                                              │

23:19:34 #10775 [Debug] > │     let v35 : float = v32 * v20                                              │

23:19:34 #10776 [Debug] > │     let v36 : float = -1.0 * v33                                             │

23:19:34 #10777 [Debug] > │     let v37 : float = -1.0 * v34                                             │

23:19:34 #10778 [Debug] > │     let v38 : float = -1.0 * v35                                             │

23:19:34 #10779 [Debug] > │     let v39 : float = v15 + v36                                              │

23:19:34 #10780 [Debug] > │     let v40 : float = v16 + v37                                              │

23:19:34 #10781 [Debug] > │     let v41 : float = v17 + v38                                              │

23:19:34 #10782 [Debug] > │     let v42 : float = v27 * v39                                              │

23:19:34 #10783 [Debug] > │     let v43 : float = v27 * v40                                              │

23:19:34 #10784 [Debug] > │     let v44 : float = v27 * v41                                              │

23:19:34 #10785 [Debug] > │     let v45 : float = v42 / v1                                               │

23:19:34 #10786 [Debug] > │     let v46 : float = v43 / v1                                               │

23:19:34 #10787 [Debug] > │     let v47 : float = v44 / v1                                               │

23:19:34 #10788 [Debug] > │     struct (0.0, 0.0, v6, v7, v8, 1.0, v45, v46, v47)                        │

23:19:34 #10789 [Debug] > │ and method2 (v0 : (struct (float * float * float * float * float * float *   │

23:19:34 #10790 [Debug] > │ float * float * float) -> struct (float * float * float * float * float *    │

23:19:34 #10791 [Debug] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 :    │

23:19:34 #10792 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 :     │

23:19:34 #10793 [Debug] > │ int32) : struct (float * float * float * float * float * float * float *     │

23:19:34 #10794 [Debug] > │ float * float) =                                                             │

23:19:34 #10795 [Debug] > │     let v11 : bool = v10 <= 0                                                │

23:19:34 #10796 [Debug] > │     if v11 then                                                              │

23:19:34 #10797 [Debug] > │         struct (v1, v2, v3, v4, v5, v6, v7, v8, v9)                          │

23:19:34 #10798 [Debug] > │     else                                                                     │

23:19:34 #10799 [Debug] > │         let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16  │

23:19:34 #10800 [Debug] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct     │

23:19:34 #10801 [Debug] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9)                                         │

23:19:34 #10802 [Debug] > │         let v21 : int32 = v10 - 1                                            │

23:19:34 #10803 [Debug] > │         method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)        │

23:19:34 #10804 [Debug] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 =                                     │

23:19:34 #10805 [Debug] > │     match v0 with                                                            │

23:19:34 #10806 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:34 #10807 [Debug] > │         let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1)       │

23:19:34 #10808 [Debug] > │         method3(v11, v12)                                                    │

23:19:34 #10809 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:34 #10810 [Debug] > │         v1                                                                   │

23:19:34 #10811 [Debug] > │ and method1 (v0 : (struct (float * float * float * float * float * float *   │

23:19:34 #10812 [Debug] > │ float * float * float) -> struct (float * float * float * float * float *    │

23:19:34 #10813 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 =               │

23:19:34 #10814 [Debug] > │     let v3 : float = 1.602176621E-19                                         │

23:19:34 #10815 [Debug] > │     let v4 : float = 1.672621898E-27                                         │

23:19:34 #10816 [Debug] > │     let v5 : float = 0.0                                                     │

23:19:34 #10817 [Debug] > │     let v6 : float = 0.0                                                     │

23:19:34 #10818 [Debug] > │     let v7 : float = 0.0                                                     │

23:19:34 #10819 [Debug] > │     let v8 : float = 0.0                                                     │

23:19:34 #10820 [Debug] > │     let v9 : float = 0.0                                                     │

23:19:34 #10821 [Debug] > │     let v10 : float = 239833966.4                                            │

23:19:34 #10822 [Debug] > │     let v11 : float = 0.0                                                    │

23:19:34 #10823 [Debug] > │     let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 :    │

23:19:34 #10824 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │

23:19:34 #10825 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2)                                        │

23:19:34 #10826 [Debug] > │     let v21 : bool = v2 < 100                                                │

23:19:34 #10827 [Debug] > │     if v21 then                                                              │

23:19:34 #10828 [Debug] > │         let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20,   │

23:19:34 #10829 [Debug] > │ v1)                                                                          │

23:19:34 #10830 [Debug] > │         let v23 : int32 = v2 + 1                                             │

23:19:34 #10831 [Debug] > │         method1(v0, v22, v23)                                                │

23:19:34 #10832 [Debug] > │     else                                                                     │

23:19:34 #10833 [Debug] > │         let v25 : UH0 = UH0_1                                                │

23:19:34 #10834 [Debug] > │         method3(v1, v25)                                                     │

23:19:34 #10835 [Debug] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:34 #10836 [Debug] > │     match v0 with                                                            │

23:19:34 #10837 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:34 #10838 [Debug] > │         let v12 : UH1 = method4(v11, v1)                                     │

23:19:34 #10839 [Debug] > │         UH1_0(v4, v5, v12)                                                   │

23:19:34 #10840 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:34 #10841 [Debug] > │         v1                                                                   │

23:19:34 #10842 [Debug] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) =            │

23:19:34 #10843 [Debug] > │     match v0 with                                                            │

23:19:34 #10844 [Debug] > │     | UH1_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:34 #10845 [Debug] > │         let v6 : UH2 = UH2_0(v3, v1)                                         │

23:19:34 #10846 [Debug] > │         let v7 : UH2 = UH2_0(v4, v2)                                         │

23:19:34 #10847 [Debug] > │         method5(v5, v6, v7)                                                  │

23:19:34 #10848 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:34 #10849 [Debug] > │         struct (v1, v2)                                                      │

23:19:34 #10850 [Debug] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 =                                     │

23:19:34 #10851 [Debug] > │     match v0 with                                                            │

23:19:34 #10852 [Debug] > │     | UH2_0(v2, v3) -> (* Cons *)                                            │

23:19:34 #10853 [Debug] > │         let v4 : UH2 = UH2_0(v2, v1)                                         │

23:19:34 #10854 [Debug] > │         method6(v3, v4)                                                      │

23:19:34 #10855 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:34 #10856 [Debug] > │         v1                                                                   │

23:19:34 #10857 [Debug] > │ and method7 (v0 : (struct (float * float * float * float * float * float *   │

23:19:34 #10858 [Debug] > │ float * float * float) -> struct (float * float * float * float * float *    │

23:19:34 #10859 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 =               │

23:19:34 #10860 [Debug] > │     let v3 : float = 1.602176621E-19                                         │

23:19:34 #10861 [Debug] > │     let v4 : float = 1.672621898E-27                                         │

23:19:34 #10862 [Debug] > │     let v5 : float = 0.0                                                     │

23:19:34 #10863 [Debug] > │     let v6 : float = 0.0                                                     │

23:19:34 #10864 [Debug] > │     let v7 : float = 0.0                                                     │

23:19:34 #10865 [Debug] > │     let v8 : float = 0.0                                                     │

23:19:34 #10866 [Debug] > │     let v9 : float = 0.0                                                     │

23:19:34 #10867 [Debug] > │     let v10 : float = 239833966.4                                            │

23:19:34 #10868 [Debug] > │     let v11 : float = 0.0                                                    │

23:19:34 #10869 [Debug] > │     let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 :    │

23:19:34 #10870 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │

23:19:34 #10871 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2)                                        │

23:19:34 #10872 [Debug] > │     let v21 : bool = v2 < 165                                                │

23:19:34 #10873 [Debug] > │     if v21 then                                                              │

23:19:34 #10874 [Debug] > │         let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20,   │

23:19:34 #10875 [Debug] > │ v1)                                                                          │

23:19:34 #10876 [Debug] > │         let v23 : int32 = v2 + 1                                             │

23:19:34 #10877 [Debug] > │         method7(v0, v22, v23)                                                │

23:19:34 #10878 [Debug] > │     else                                                                     │

23:19:34 #10879 [Debug] > │         let v25 : UH0 = UH0_1                                                │

23:19:34 #10880 [Debug] > │         method3(v1, v25)                                                     │

23:19:34 #10881 [Debug] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:34 #10882 [Debug] > │     match v0 with                                                            │

23:19:34 #10883 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:34 #10884 [Debug] > │         let v12 : UH1 = method8(v11, v1)                                     │

23:19:34 #10885 [Debug] > │         UH1_0(v4, v5, v12)                                                   │

23:19:34 #10886 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:34 #10887 [Debug] > │         v1                                                                   │

23:19:34 #10888 [Debug] > │ and method10 (v0 : UH2, v1 : int32) : int32 =                                │

23:19:34 #10889 [Debug] > │     match v0 with                                                            │

23:19:34 #10890 [Debug] > │     | UH2_0(v2, v3) -> (* Cons *)                                            │

23:19:34 #10891 [Debug] > │         let v4 : int32 = v1 + 1                                              │

23:19:34 #10892 [Debug] > │         method10(v3, v4)                                                     │

23:19:34 #10893 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:34 #10894 [Debug] > │         v1                                                                   │

23:19:34 #10895 [Debug] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 =               │

23:19:34 #10896 [Debug] > │     match v1 with                                                            │

23:19:34 #10897 [Debug] > │     | UH2_0(v3, v4) -> (* Cons *)                                            │

23:19:34 #10898 [Debug] > │         v0.[int v2] <- v3                                                    │

23:19:34 #10899 [Debug] > │         let v5 : int32 = v2 + 1                                              │

23:19:34 #10900 [Debug] > │         method11(v0, v4, v5)                                                 │

23:19:34 #10901 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:34 #10902 [Debug] > │         v2                                                                   │

23:19:34 #10903 [Debug] > │ and method9 (v0 : UH2) : (float []) =                                        │

23:19:34 #10904 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:34 #10905 [Debug] > │     let v2 : int32 = method10(v0, v1)                                        │

23:19:34 #10906 [Debug] > │     let v3 : (float []) = Array.zeroCreate<float> (v2)                       │

23:19:34 #10907 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:34 #10908 [Debug] > │     let v5 : int32 = method11(v3, v0, v4)                                    │

23:19:34 #10909 [Debug] > │     v3                                                                       │

23:19:34 #10910 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:34 #10911 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:34 #10912 [Debug] > │     let v0 : ((struct (float * float * float * float * float * float * float │

23:19:34 #10913 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:34 #10914 [Debug] > │ float * float * float)) -> (struct (float * float * float * float * float *  │

23:19:34 #10915 [Debug] > │ float * float * float * float) -> struct (float * float * float * float *    │

23:19:34 #10916 [Debug] > │ float * float * float * float * float))) = closure0()                        │

23:19:34 #10917 [Debug] > │     let v1 : (struct (float * float * float * float * float * float * float  │

23:19:34 #10918 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:34 #10919 [Debug] > │ float * float * float)) = closure2()                                         │

23:19:34 #10920 [Debug] > │     let v2 : (struct (float * float * float * float * float * float * float  │

23:19:34 #10921 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:34 #10922 [Debug] > │ float * float * float)) = v0 v1                                              │

23:19:34 #10923 [Debug] > │     let v3 : (struct (float * float * float * float * float * float * float  │

23:19:34 #10924 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:34 #10925 [Debug] > │ float * float * float)) = closure3()                                         │

23:19:34 #10926 [Debug] > │     let v4 : (struct (float * float * float * float * float * float * float  │

23:19:34 #10927 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float *  │

23:19:34 #10928 [Debug] > │ float * float * float)) = v0 v3                                              │

23:19:34 #10929 [Debug] > │     let v5 : UH0 = UH0_1                                                     │

23:19:34 #10930 [Debug] > │     let v6 : int32 = 0                                                       │

23:19:34 #10931 [Debug] > │     let v7 : UH0 = method1(v2, v5, v6)                                       │

23:19:34 #10932 [Debug] > │     let v8 : UH1 = UH1_1                                                     │

23:19:34 #10933 [Debug] > │     let v9 : UH1 = method4(v7, v8)                                           │

23:19:34 #10934 [Debug] > │     let v10 : UH2 = UH2_1                                                    │

23:19:34 #10935 [Debug] > │     let v11 : UH2 = UH2_1                                                    │

23:19:34 #10936 [Debug] > │     let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11)                │

23:19:34 #10937 [Debug] > │     let v14 : UH2 = UH2_1                                                    │

23:19:34 #10938 [Debug] > │     let v15 : UH2 = method6(v12, v14)                                        │

23:19:34 #10939 [Debug] > │     let v16 : UH2 = UH2_1                                                    │

23:19:34 #10940 [Debug] > │     let v17 : UH2 = method6(v13, v16)                                        │

23:19:34 #10941 [Debug] > │     let v18 : UH0 = UH0_1                                                    │

23:19:34 #10942 [Debug] > │     let v19 : int32 = 0                                                      │

23:19:34 #10943 [Debug] > │     let v20 : UH0 = method7(v4, v18, v19)                                    │

23:19:34 #10944 [Debug] > │     let v21 : UH1 = UH1_1                                                    │

23:19:34 #10945 [Debug] > │     let v22 : UH1 = method8(v20, v21)                                        │

23:19:34 #10946 [Debug] > │     let v23 : UH2 = UH2_1                                                    │

23:19:34 #10947 [Debug] > │     let v24 : UH2 = UH2_1                                                    │

23:19:34 #10948 [Debug] > │     let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24)               │

23:19:34 #10949 [Debug] > │     let v27 : UH2 = UH2_1                                                    │

23:19:34 #10950 [Debug] > │     let v28 : UH2 = method6(v25, v27)                                        │

23:19:34 #10951 [Debug] > │     let v29 : UH2 = UH2_1                                                    │

23:19:34 #10952 [Debug] > │     let v30 : UH2 = method6(v26, v29)                                        │

23:19:34 #10953 [Debug] > │     let v31 : (float []) = method9(v15)                                      │

23:19:34 #10954 [Debug] > │     let v32 : (float []) = method9(v17)                                      │

23:19:34 #10955 [Debug] > │     let v33 : (float []) = method9(v28)                                      │

23:19:34 #10956 [Debug] > │     let v34 : (float []) = method9(v30)                                      │

23:19:34 #10957 [Debug] > │     let v35 : string = "newtonian"                                           │

23:19:34 #10958 [Debug] > │     let v36 : string = "relativistic"                                        │

23:19:34 #10959 [Debug] > │     let v37 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:34 #10960 [Debug] > │ (v35, v31, v32); struct (v36, v33, v34)|]                                    │

23:19:34 #10961 [Debug] > │     let v38 : string = "proton in a 1-t magnetic field"                      │

23:19:34 #10962 [Debug] > │     let v39 : string = "x (m)"                                               │

23:19:34 #10963 [Debug] > │     let v40 : string = "y (m)"                                               │

23:19:34 #10964 [Debug] > │     struct (v38, v39, v40, v37)                                              │

23:19:34 #10965 [Debug] > │ method0()                                                                    │

23:19:34 #10966 [Debug] > │                                                                              │

23:19:34 #10967 [Debug] > │                                                                              │

23:19:34 #10968 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:34 #10969 [Debug] >

23:19:34 #10970 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:34 #10971 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:34 #10972 [Debug] > │ ### system kinetic energy versus time 1                                      │

23:19:34 #10973 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:34 #10974 [Debug] >

23:19:34 #10975 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:34 #10976 [Debug] > // // test

23:19:34 #10977 [Debug] >

23:19:34 #10978 [Debug] > inl central_force f (particle_state st1) (particle_state st2) =

23:19:34 #10979 [Debug] >     inl r1 = st1.pos_vec

23:19:34 #10980 [Debug] >     inl r2 = st2.pos_vec

23:19:34 #10981 [Debug] >     inl r21 = r2 ^-^ r1

23:19:34 #10982 [Debug] >     inl r21mag = magnitude r21

23:19:34 #10983 [Debug] >     f r21mag *^ r21 ^/ r21mag

23:19:34 #10984 [Debug] >

23:19:34 #10985 [Debug] > inl billiard_force k re =

23:19:34 #10986 [Debug] >     inl f r =

23:19:34 #10987 [Debug] >         if r >= re

23:19:34 #10988 [Debug] >         then 0

23:19:34 #10989 [Debug] >         else -k * (r - re)

23:19:34 #10990 [Debug] >     central_force f

23:19:34 #10991 [Debug] >

23:19:34 #10992 [Debug] > type force_vector = vec

23:19:34 #10993 [Debug] > type two_body_force = particle_state -> particle_state -> force_vector

23:19:34 #10994 [Debug] >

23:19:34 #10995 [Debug] > union force =

23:19:34 #10996 [Debug] >     | ExternalForce : i32 * one_body_force

23:19:34 #10997 [Debug] >     | InternalForce : i32 * i32 * two_body_force

23:19:34 #10998 [Debug] >

23:19:34 #10999 [Debug] > nominal multi_particle_state = list particle_state

23:19:34 #11000 [Debug] >

23:19:34 #11001 [Debug] > nominal d_multi_particle_state = list d_particle_state

23:19:34 #11002 [Debug] >

23:19:34 #11003 [Debug] > inl force_on n sts force =

23:19:34 #11004 [Debug] >     match force with

23:19:34 #11005 [Debug] >     | ExternalForce (n0, f_one_body) =>

23:19:34 #11006 [Debug] >         if n = n0

23:19:34 #11007 [Debug] >         then f_one_body

23:19:34 #11008 [Debug] >         else fun _ => zero_vec ()

23:19:34 #11009 [Debug] >     | InternalForce (n0, n1, f_two_body) =>

23:19:34 #11010 [Debug] >         if n = n0

23:19:34 #11011 [Debug] >         then f_two_body (sts |> listm'.item n1)

23:19:34 #11012 [Debug] >         elif n = n1

23:19:34 #11013 [Debug] >         then f_two_body (sts |> listm'.item n0)

23:19:34 #11014 [Debug] >         else fun _ => zero_vec ()

23:19:34 #11015 [Debug] >

23:19:34 #11016 [Debug] > inl forces_on n (multi_particle_state sts) fs =

23:19:34 #11017 [Debug] >     fs |> listm.map (force_on n sts)

23:19:34 #11018 [Debug] >

23:19:34 #11019 [Debug] > inl newton_second_mps fs (multi_particle_state sts) : d_multi_particle_state =

23:19:34 #11020 [Debug] >     inl deriv (n, st) =

23:19:34 #11021 [Debug] >         newton_second_ps (forces_on n (multi_particle_state sts) fs) st

23:19:34 #11022 [Debug] >     sts |> listm'.indexed |> listm.map deriv |> d_multi_particle_state

23:19:34 #11023 [Debug] >

23:19:34 #11024 [Debug] > instance (+++) d_multi_particle_state = fun (d_multi_particle_state dsts1)

23:19:34 #11025 [Debug] > (d_multi_particle_state dsts2) =>

23:19:34 #11026 [Debug] >     d_multi_particle_state (listm'.zip_with_ (+++) dsts1 dsts2)

23:19:34 #11027 [Debug] >

23:19:34 #11028 [Debug] > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) =>

23:19:34 #11029 [Debug] >     d_multi_particle_state (dsts |> listm.map (scale w))

23:19:34 #11030 [Debug] >

23:19:34 #11031 [Debug] > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) =>

23:19:34 #11032 [Debug] >     inl (d_multi_particle_state dsts) =

23:19:34 #11033 [Debug] >         real

23:19:34 #11034 [Debug] >             match dsts with

23:19:34 #11035 [Debug] >             | d_multi_particle_state _ => dsts

23:19:34 #11036 [Debug] >     listm'.zip_with_ (shift dt) dsts sts |> multi_particle_state

23:19:34 #11037 [Debug] >

23:19:34 #11038 [Debug] > inl euler_cromer_mps dt : numerical_method multi_particle_state

23:19:34 #11039 [Debug] > d_multi_particle_state =

23:19:34 #11040 [Debug] >     fun deriv mpst0 =>

23:19:34 #11041 [Debug] >         inl mpst1 = euler dt deriv mpst0

23:19:34 #11042 [Debug] >         inl (multi_particle_state sts0) = mpst0

23:19:34 #11043 [Debug] >         inl (multi_particle_state sts1) = mpst1

23:19:34 #11044 [Debug] >         sts1

23:19:34 #11045 [Debug] >         |> listm'.zip_ sts0

23:19:34 #11046 [Debug] >         |> listm.map (fun ((particle_state st0), (particle_state st1)) =>

23:19:34 #11047 [Debug] >             particle_state {

23:19:34 #11048 [Debug] >                 st1 with

23:19:34 #11049 [Debug] >                     pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt

23:19:34 #11050 [Debug] >             }

23:19:34 #11051 [Debug] >         )

23:19:34 #11052 [Debug] >         |> multi_particle_state

23:19:34 #11053 [Debug] >

23:19:34 #11054 [Debug] > inl update_mps (method : numerical_method multi_particle_state

23:19:34 #11055 [Debug] > d_multi_particle_state) =

23:19:34 #11056 [Debug] >     newton_second_mps >> method

23:19:34 #11057 [Debug] >

23:19:34 #11058 [Debug] > inl states_mps (method : numerical_method multi_particle_state

23:19:34 #11059 [Debug] > d_multi_particle_state) =

23:19:34 #11060 [Debug] >     newton_second_mps >> method >> seq.iterate_

23:19:34 #11061 [Debug] >

23:19:34 #11062 [Debug] >

23:19:34 #11063 [Debug] > inl kinetic_energy (particle_state st) =

23:19:34 #11064 [Debug] >     inl m = st.mass

23:19:34 #11065 [Debug] >     inl v = magnitude st.velocity

23:19:34 #11066 [Debug] >     0.5 * m * v ** 2

23:19:34 #11067 [Debug] >

23:19:34 #11068 [Debug] > inl system_ke (multi_particle_state sts) =

23:19:34 #11069 [Debug] >     sts |> listm.map kinetic_energy |> listm'.sum

23:19:34 #11070 [Debug] >

23:19:34 #11071 [Debug] > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =

23:19:34 #11072 [Debug] >     inl r1 = st1.pos_vec

23:19:34 #11073 [Debug] >     inl r2 = st2.pos_vec

23:19:34 #11074 [Debug] >     inl r21 = r2 ^-^ r1

23:19:34 #11075 [Debug] >     inl r21mag = magnitude r21

23:19:34 #11076 [Debug] >     k * (r21mag - re) ** 2 / 2

23:19:34 #11077 [Debug] >

23:19:34 #11078 [Debug] > inl earth_surface_gravity_pe (particle_state st) =

23:19:34 #11079 [Debug] >     inl g = 9.80665

23:19:34 #11080 [Debug] >     inl m = st.mass

23:19:34 #11081 [Debug] >     inl z = st.pos_vec.z

23:19:34 #11082 [Debug] >     m * g * z

23:19:34 #11083 [Debug] >

23:19:34 #11084 [Debug] > inl two_springs_pe (multi_particle_state sts) =

23:19:34 #11085 [Debug] >     inl st0 = sts |> listm'.item 0i32

23:19:34 #11086 [Debug] >     inl st1 = sts |> listm'.item 1i32

23:19:34 #11087 [Debug] >     linear_spring_pe 100 0.5 (default_particle_state ()) st0

23:19:34 #11088 [Debug] >     + linear_spring_pe 100 0.5 st0 st1

23:19:34 #11089 [Debug] >     + earth_surface_gravity_pe st0

23:19:34 #11090 [Debug] >     + earth_surface_gravity_pe st1

23:19:34 #11091 [Debug] >

23:19:34 #11092 [Debug] > inl two_springs_me mpst =

23:19:34 #11093 [Debug] >     system_ke mpst + two_springs_pe mpst

23:19:34 #11094 [Debug] >

23:19:34 #11095 [Debug] > inl ball_radius () = 0.03

23:19:34 #11096 [Debug] >

23:19:34 #11097 [Debug] > inl billiard_forces k =

23:19:34 #11098 [Debug] >     [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]]

23:19:34 #11099 [Debug] >

23:19:34 #11100 [Debug] > inl billiard_update n_method k dt =

23:19:34 #11101 [Debug] >     update_mps (n_method dt) (billiard_forces k)

23:19:34 #11102 [Debug] >

23:19:34 #11103 [Debug] > inl billiard_initial () =

23:19:34 #11104 [Debug] >     inl ball_mass = 0.160

23:19:34 #11105 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:34 #11106 [Debug] >     multi_particle_state [[

23:19:34 #11107 [Debug] >         particle_state {

23:19:34 #11108 [Debug] >             default_particle_state' with

23:19:34 #11109 [Debug] >                 mass = ball_mass

23:19:34 #11110 [Debug] >                 pos_vec = zero_vec ()

23:19:34 #11111 [Debug] >                 velocity = 0.2 *^ i_hat ()

23:19:34 #11112 [Debug] >         }

23:19:34 #11113 [Debug] >         particle_state {

23:19:34 #11114 [Debug] >             default_particle_state' with

23:19:34 #11115 [Debug] >                 mass = ball_mass

23:19:34 #11116 [Debug] >                 pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()

23:19:34 #11117 [Debug] >                 velocity = zero_vec ()

23:19:34 #11118 [Debug] >         }

23:19:34 #11119 [Debug] >     ]]

23:19:34 #11120 [Debug] >

23:19:34 #11121 [Debug] > inl billiard_states ~n_method k dt =

23:19:34 #11122 [Debug] >     states_mps (n_method dt) (billiard_forces k) (billiard_initial ())

23:19:34 #11123 [Debug] >

23:19:34 #11124 [Debug] > inl billiard_states_finite n_method k dt =

23:19:34 #11125 [Debug] >     billiard_states n_method k dt

23:19:34 #11126 [Debug] >     >> Some

23:19:34 #11127 [Debug] >     |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>

23:19:34 #11128 [Debug] >         (mpst |> listm'.item 0i32).time <= 10

23:19:34 #11129 [Debug] >     )

23:19:34 #11130 [Debug] >

23:19:34 #11131 [Debug] > inl momentum (particle_state st) =

23:19:34 #11132 [Debug] >     inl m = st.mass

23:19:34 #11133 [Debug] >     inl v = st.velocity

23:19:34 #11134 [Debug] >     m *^ v

23:19:34 #11135 [Debug] >

23:19:34 #11136 [Debug] > inl system_p (multi_particle_state sts) =

23:19:34 #11137 [Debug] >     sts |> listm.map momentum |> sum_vec

23:19:34 #11138 [Debug] >

23:19:34 #11139 [Debug] >

23:19:34 #11140 [Debug] > inl time_ke_ec_x, time_ke_ec_y =

23:19:34 #11141 [Debug] >     billiard_states_finite euler_cromer_mps 30 0.03

23:19:34 #11142 [Debug] >     |> listm.map (fun (multi_particle_state mpst) =>

23:19:34 #11143 [Debug] >         (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)

23:19:34 #11144 [Debug] >     )

23:19:34 #11145 [Debug] >     |> listm'.unzip

23:19:34 #11146 [Debug] >

23:19:34 #11147 [Debug] > inl time_ke_rk4_x, time_ke_rk4_y =

23:19:34 #11148 [Debug] >     billiard_states_finite runge_kutta_4 30 0.03

23:19:34 #11149 [Debug] >     |> listm.map (fun (multi_particle_state mpst) =>

23:19:34 #11150 [Debug] >         (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)

23:19:34 #11151 [Debug] >     )

23:19:34 #11152 [Debug] >     |> listm'.unzip

23:19:34 #11153 [Debug] >

23:19:34 #11154 [Debug] > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray

23:19:34 #11155 [Debug] > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray

23:19:34 #11156 [Debug] >

23:19:34 #11157 [Debug] > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray

23:19:34 #11158 [Debug] > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray

23:19:34 #11159 [Debug] >

23:19:34 #11160 [Debug] > "system kinetic energy versus time",

23:19:34 #11161 [Debug] > "time (s)",

23:19:34 #11162 [Debug] > "system kinetic energy (j)",

23:19:34 #11163 [Debug] > ;[[

23:19:34 #11164 [Debug] >     "euler-cromer", time_ke_ec_x, time_ke_ec_y

23:19:34 #11165 [Debug] >     "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y

23:19:34 #11166 [Debug] > ]]

23:19:34 #11167 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3469-6986-6b75e68c7880\main.spi

23:19:36 #11168 [Debug] >

23:19:36 #11169 [Debug] > ╭─[ 1.47s - return value ]─────────────────────────────────────────────────────╮

23:19:36 #11170 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:36 #11171 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:36 #11172 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:36 #11173 [Debug] > │ stroke="none"/>                                                              │

23:19:36 #11174 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:36 #11175 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11176 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11177 [Debug] > │ system kinetic energy versus time                                            │

23:19:36 #11178 [Debug] > │ </text>                                                                      │

23:19:36 #11179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │

23:19:36 #11180 [Debug] > │ y2="75"/>                                                                    │

23:19:36 #11181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:36 #11182 [Debug] > │ y2="75"/>                                                                    │

23:19:36 #11183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │

23:19:36 #11184 [Debug] > │ y2="75"/>                                                                    │

23:19:36 #11185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │

23:19:36 #11186 [Debug] > │ y2="75"/>                                                                    │

23:19:36 #11187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:36 #11188 [Debug] > │ y2="75"/>                                                                    │

23:19:36 #11189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424"        │

23:19:36 #11190 [Debug] > │ x2="109" y2="75"/>                                                           │

23:19:36 #11191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:36 #11192 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:36 #11193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:36 #11194 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:36 #11195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:36 #11196 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:36 #11197 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424"        │

23:19:36 #11198 [Debug] > │ x2="149" y2="75"/>                                                           │

23:19:36 #11199 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424"        │

23:19:36 #11200 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:36 #11201 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:36 #11202 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:36 #11203 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424"        │

23:19:36 #11204 [Debug] > │ x2="179" y2="75"/>                                                           │

23:19:36 #11205 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:36 #11206 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:36 #11207 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424"        │

23:19:36 #11208 [Debug] > │ x2="199" y2="75"/>                                                           │

23:19:36 #11209 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424"        │

23:19:36 #11210 [Debug] > │ x2="209" y2="75"/>                                                           │

23:19:36 #11211 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:36 #11212 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:36 #11213 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424"        │

23:19:36 #11214 [Debug] > │ x2="229" y2="75"/>                                                           │

23:19:36 #11215 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424"        │

23:19:36 #11216 [Debug] > │ x2="239" y2="75"/>                                                           │

23:19:36 #11217 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:36 #11218 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:36 #11219 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424"        │

23:19:36 #11220 [Debug] > │ x2="259" y2="75"/>                                                           │

23:19:36 #11221 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:36 #11222 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:36 #11223 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424"        │

23:19:36 #11224 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:36 #11225 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424"        │

23:19:36 #11226 [Debug] > │ x2="289" y2="75"/>                                                           │

23:19:36 #11227 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424"        │

23:19:36 #11228 [Debug] > │ x2="299" y2="75"/>                                                           │

23:19:36 #11229 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:36 #11230 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:36 #11231 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:36 #11232 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:36 #11233 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424"        │

23:19:36 #11234 [Debug] > │ x2="329" y2="75"/>                                                           │

23:19:36 #11235 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424"        │

23:19:36 #11236 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:36 #11237 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424"        │

23:19:36 #11238 [Debug] > │ x2="349" y2="75"/>                                                           │

23:19:36 #11239 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424"        │

23:19:36 #11240 [Debug] > │ x2="359" y2="75"/>                                                           │

23:19:36 #11241 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:36 #11242 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:36 #11243 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424"        │

23:19:36 #11244 [Debug] > │ x2="379" y2="75"/>                                                           │

23:19:36 #11245 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424"        │

23:19:36 #11246 [Debug] > │ x2="389" y2="75"/>                                                           │

23:19:36 #11247 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424"        │

23:19:36 #11248 [Debug] > │ x2="399" y2="75"/>                                                           │

23:19:36 #11249 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424"        │

23:19:36 #11250 [Debug] > │ x2="409" y2="75"/>                                                           │

23:19:36 #11251 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:36 #11252 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:36 #11253 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424"        │

23:19:36 #11254 [Debug] > │ x2="429" y2="75"/>                                                           │

23:19:36 #11255 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424"        │

23:19:36 #11256 [Debug] > │ x2="439" y2="75"/>                                                           │

23:19:36 #11257 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424"        │

23:19:36 #11258 [Debug] > │ x2="449" y2="75"/>                                                           │

23:19:36 #11259 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424"        │

23:19:36 #11260 [Debug] > │ x2="459" y2="75"/>                                                           │

23:19:36 #11261 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:36 #11262 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:36 #11263 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424"        │

23:19:36 #11264 [Debug] > │ x2="479" y2="75"/>                                                           │

23:19:36 #11265 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424"        │

23:19:36 #11266 [Debug] > │ x2="489" y2="75"/>                                                           │

23:19:36 #11267 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:36 #11268 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:36 #11269 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424"        │

23:19:36 #11270 [Debug] > │ x2="509" y2="75"/>                                                           │

23:19:36 #11271 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:36 #11272 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:36 #11273 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424"        │

23:19:36 #11274 [Debug] > │ x2="529" y2="75"/>                                                           │

23:19:36 #11275 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424"        │

23:19:36 #11276 [Debug] > │ x2="539" y2="75"/>                                                           │

23:19:36 #11277 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424"        │

23:19:36 #11278 [Debug] > │ x2="549" y2="75"/>                                                           │

23:19:36 #11279 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424"        │

23:19:36 #11280 [Debug] > │ x2="559" y2="75"/>                                                           │

23:19:36 #11281 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:36 #11282 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:36 #11283 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424"        │

23:19:36 #11284 [Debug] > │ x2="579" y2="75"/>                                                           │

23:19:36 #11285 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="416"         │

23:19:36 #11286 [Debug] > │ x2="584" y2="416"/>                                                          │

23:19:36 #11287 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404"         │

23:19:36 #11288 [Debug] > │ x2="584" y2="404"/>                                                          │

23:19:36 #11289 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="392"         │

23:19:36 #11290 [Debug] > │ x2="584" y2="392"/>                                                          │

23:19:36 #11291 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380"         │

23:19:36 #11292 [Debug] > │ x2="584" y2="380"/>                                                          │

23:19:36 #11293 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368"         │

23:19:36 #11294 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:36 #11295 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="356"         │

23:19:36 #11296 [Debug] > │ x2="584" y2="356"/>                                                          │

23:19:36 #11297 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="344"         │

23:19:36 #11298 [Debug] > │ x2="584" y2="344"/>                                                          │

23:19:36 #11299 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332"         │

23:19:36 #11300 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:36 #11301 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321"         │

23:19:36 #11302 [Debug] > │ x2="584" y2="321"/>                                                          │

23:19:36 #11303 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="309"         │

23:19:36 #11304 [Debug] > │ x2="584" y2="309"/>                                                          │

23:19:36 #11305 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="297"         │

23:19:36 #11306 [Debug] > │ x2="584" y2="297"/>                                                          │

23:19:36 #11307 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="285"         │

23:19:36 #11308 [Debug] > │ x2="584" y2="285"/>                                                          │

23:19:36 #11309 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273"         │

23:19:36 #11310 [Debug] > │ x2="584" y2="273"/>                                                          │

23:19:36 #11311 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="261"         │

23:19:36 #11312 [Debug] > │ x2="584" y2="261"/>                                                          │

23:19:36 #11313 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="249"         │

23:19:36 #11314 [Debug] > │ x2="584" y2="249"/>                                                          │

23:19:36 #11315 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="237"         │

23:19:36 #11316 [Debug] > │ x2="584" y2="237"/>                                                          │

23:19:36 #11317 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="225"         │

23:19:36 #11318 [Debug] > │ x2="584" y2="225"/>                                                          │

23:19:36 #11319 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="213"         │

23:19:36 #11320 [Debug] > │ x2="584" y2="213"/>                                                          │

23:19:36 #11321 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:36 #11322 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:36 #11323 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="189"         │

23:19:36 #11324 [Debug] > │ x2="584" y2="189"/>                                                          │

23:19:36 #11325 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="177"         │

23:19:36 #11326 [Debug] > │ x2="584" y2="177"/>                                                          │

23:19:36 #11327 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="165"         │

23:19:36 #11328 [Debug] > │ x2="584" y2="165"/>                                                          │

23:19:36 #11329 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="153"         │

23:19:36 #11330 [Debug] > │ x2="584" y2="153"/>                                                          │

23:19:36 #11331 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="142"         │

23:19:36 #11332 [Debug] > │ x2="584" y2="142"/>                                                          │

23:19:36 #11333 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="130"         │

23:19:36 #11334 [Debug] > │ x2="584" y2="130"/>                                                          │

23:19:36 #11335 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118"         │

23:19:36 #11336 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:36 #11337 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106"         │

23:19:36 #11338 [Debug] > │ x2="584" y2="106"/>                                                          │

23:19:36 #11339 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="94" x2="584" │

23:19:36 #11340 [Debug] > │ y2="94"/>                                                                    │

23:19:36 #11341 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="82" x2="584" │

23:19:36 #11342 [Debug] > │ y2="82"/>                                                                    │

23:19:36 #11343 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:36 #11344 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11345 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11346 [Debug] > │ time (s)                                                                     │

23:19:36 #11347 [Debug] > │ </text>                                                                      │

23:19:36 #11348 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:36 #11349 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11350 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:36 #11351 [Debug] > │ system kinetic energy (j)                                                    │

23:19:36 #11352 [Debug] > │ </text>                                                                      │

23:19:36 #11353 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:36 #11354 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11355 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11356 [Debug] > │ time (s)                                                                     │

23:19:36 #11357 [Debug] > │ </text>                                                                      │

23:19:36 #11358 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11359 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11360 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:36 #11361 [Debug] > │ system kinetic energy (j)                                                    │

23:19:36 #11362 [Debug] > │ </text>                                                                      │

23:19:36 #11363 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:36 #11364 [Debug] > │ y2="75"/>                                                                    │

23:19:36 #11365 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:36 #11366 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:36 #11367 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:36 #11368 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:36 #11369 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:36 #11370 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:36 #11371 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:36 #11372 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:36 #11373 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:36 #11374 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:36 #11375 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:36 #11376 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:36 #11377 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:36 #11378 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:36 #11379 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:36 #11380 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:36 #11381 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:36 #11382 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:36 #11383 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:36 #11384 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:36 #11385 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="380"         │

23:19:36 #11386 [Debug] > │ x2="584" y2="380"/>                                                          │

23:19:36 #11387 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332"         │

23:19:36 #11388 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:36 #11389 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="285"         │

23:19:36 #11390 [Debug] > │ x2="584" y2="285"/>                                                          │

23:19:36 #11391 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="237"         │

23:19:36 #11392 [Debug] > │ x2="584" y2="237"/>                                                          │

23:19:36 #11393 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="189"         │

23:19:36 #11394 [Debug] > │ x2="584" y2="189"/>                                                          │

23:19:36 #11395 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="142"         │

23:19:36 #11396 [Debug] > │ x2="584" y2="142"/>                                                          │

23:19:36 #11397 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="94" x2="584" │

23:19:36 #11398 [Debug] > │ y2="94"/>                                                                    │

23:19:36 #11399 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11400 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:36 #11401 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:36 #11402 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11403 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11404 [Debug] > │ 0.0                                                                          │

23:19:36 #11405 [Debug] > │ </text>                                                                      │

23:19:36 #11406 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11407 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:36 #11408 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11409 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11410 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11411 [Debug] > │ 1.0                                                                          │

23:19:36 #11412 [Debug] > │ </text>                                                                      │

23:19:36 #11413 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11414 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:36 #11415 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11416 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11417 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11418 [Debug] > │ 2.0                                                                          │

23:19:36 #11419 [Debug] > │ </text>                                                                      │

23:19:36 #11420 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11421 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:36 #11422 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11423 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11424 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11425 [Debug] > │ 3.0                                                                          │

23:19:36 #11426 [Debug] > │ </text>                                                                      │

23:19:36 #11427 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11428 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:36 #11429 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11430 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11431 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11432 [Debug] > │ 4.0                                                                          │

23:19:36 #11433 [Debug] > │ </text>                                                                      │

23:19:36 #11434 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11435 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:36 #11436 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11437 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11438 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11439 [Debug] > │ 5.0                                                                          │

23:19:36 #11440 [Debug] > │ </text>                                                                      │

23:19:36 #11441 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11442 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:36 #11443 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11444 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11445 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11446 [Debug] > │ 6.0                                                                          │

23:19:36 #11447 [Debug] > │ </text>                                                                      │

23:19:36 #11448 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11449 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:36 #11450 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11451 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11452 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11453 [Debug] > │ 7.0                                                                          │

23:19:36 #11454 [Debug] > │ </text>                                                                      │

23:19:36 #11455 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11456 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:36 #11457 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11458 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11459 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11460 [Debug] > │ 8.0                                                                          │

23:19:36 #11461 [Debug] > │ </text>                                                                      │

23:19:36 #11462 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11463 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:36 #11464 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11465 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11466 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11467 [Debug] > │ 9.0                                                                          │

23:19:36 #11468 [Debug] > │ </text>                                                                      │

23:19:36 #11469 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11470 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:36 #11471 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:36 #11472 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11473 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11474 [Debug] > │ 10.0                                                                         │

23:19:36 #11475 [Debug] > │ </text>                                                                      │

23:19:36 #11476 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11477 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:36 #11478 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11479 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:36 #11480 [Debug] > │ <text x="45" y="380" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:36 #11481 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11482 [Debug] > │ 0.0                                                                          │

23:19:36 #11483 [Debug] > │ </text>                                                                      │

23:19:36 #11484 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11485 [Debug] > │ points="49,380 54,380 "/>                                                    │

23:19:36 #11486 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:36 #11487 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11488 [Debug] > │ 0.0                                                                          │

23:19:36 #11489 [Debug] > │ </text>                                                                      │

23:19:36 #11490 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11491 [Debug] > │ points="49,332 54,332 "/>                                                    │

23:19:36 #11492 [Debug] > │ <text x="45" y="285" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:36 #11493 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11494 [Debug] > │ 0.0                                                                          │

23:19:36 #11495 [Debug] > │ </text>                                                                      │

23:19:36 #11496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11497 [Debug] > │ points="49,285 54,285 "/>                                                    │

23:19:36 #11498 [Debug] > │ <text x="45" y="237" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:36 #11499 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11500 [Debug] > │ 0.0                                                                          │

23:19:36 #11501 [Debug] > │ </text>                                                                      │

23:19:36 #11502 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11503 [Debug] > │ points="49,237 54,237 "/>                                                    │

23:19:36 #11504 [Debug] > │ <text x="45" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:36 #11505 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11506 [Debug] > │ 0.0                                                                          │

23:19:36 #11507 [Debug] > │ </text>                                                                      │

23:19:36 #11508 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11509 [Debug] > │ points="49,189 54,189 "/>                                                    │

23:19:36 #11510 [Debug] > │ <text x="45" y="142" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:36 #11511 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11512 [Debug] > │ 0.0                                                                          │

23:19:36 #11513 [Debug] > │ </text>                                                                      │

23:19:36 #11514 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11515 [Debug] > │ points="49,142 54,142 "/>                                                    │

23:19:36 #11516 [Debug] > │ <text x="45" y="94" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:36 #11517 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11518 [Debug] > │ 0.0                                                                          │

23:19:36 #11519 [Debug] > │ </text>                                                                      │

23:19:36 #11520 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11521 [Debug] > │ points="49,94 54,94 "/>                                                      │

23:19:36 #11522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11523 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:36 #11524 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:36 #11525 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11526 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11527 [Debug] > │ 0.0                                                                          │

23:19:36 #11528 [Debug] > │ </text>                                                                      │

23:19:36 #11529 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11530 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:36 #11531 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11532 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11533 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11534 [Debug] > │ 1.0                                                                          │

23:19:36 #11535 [Debug] > │ </text>                                                                      │

23:19:36 #11536 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11537 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:36 #11538 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11539 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11540 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11541 [Debug] > │ 2.0                                                                          │

23:19:36 #11542 [Debug] > │ </text>                                                                      │

23:19:36 #11543 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11544 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:36 #11545 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11546 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11547 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11548 [Debug] > │ 3.0                                                                          │

23:19:36 #11549 [Debug] > │ </text>                                                                      │

23:19:36 #11550 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11551 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:36 #11552 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11553 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11554 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11555 [Debug] > │ 4.0                                                                          │

23:19:36 #11556 [Debug] > │ </text>                                                                      │

23:19:36 #11557 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11558 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:36 #11559 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11560 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11561 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11562 [Debug] > │ 5.0                                                                          │

23:19:36 #11563 [Debug] > │ </text>                                                                      │

23:19:36 #11564 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11565 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:36 #11566 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11567 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11568 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11569 [Debug] > │ 6.0                                                                          │

23:19:36 #11570 [Debug] > │ </text>                                                                      │

23:19:36 #11571 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11572 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:36 #11573 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11574 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11575 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11576 [Debug] > │ 7.0                                                                          │

23:19:36 #11577 [Debug] > │ </text>                                                                      │

23:19:36 #11578 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11579 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:36 #11580 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11581 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11582 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11583 [Debug] > │ 8.0                                                                          │

23:19:36 #11584 [Debug] > │ </text>                                                                      │

23:19:36 #11585 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11586 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:36 #11587 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11588 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11589 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11590 [Debug] > │ 9.0                                                                          │

23:19:36 #11591 [Debug] > │ </text>                                                                      │

23:19:36 #11592 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11593 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:36 #11594 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:36 #11595 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11596 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11597 [Debug] > │ 10.0                                                                         │

23:19:36 #11598 [Debug] > │ </text>                                                                      │

23:19:36 #11599 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11600 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:36 #11601 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11602 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:36 #11603 [Debug] > │ <text x="595" y="380" dy="0.5ex" text-anchor="start"                         │

23:19:36 #11604 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11605 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11606 [Debug] > │ 0.0                                                                          │

23:19:36 #11607 [Debug] > │ </text>                                                                      │

23:19:36 #11608 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11609 [Debug] > │ points="585,380 590,380 "/>                                                  │

23:19:36 #11610 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start"                         │

23:19:36 #11611 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11612 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11613 [Debug] > │ 0.0                                                                          │

23:19:36 #11614 [Debug] > │ </text>                                                                      │

23:19:36 #11615 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11616 [Debug] > │ points="585,332 590,332 "/>                                                  │

23:19:36 #11617 [Debug] > │ <text x="595" y="285" dy="0.5ex" text-anchor="start"                         │

23:19:36 #11618 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11619 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11620 [Debug] > │ 0.0                                                                          │

23:19:36 #11621 [Debug] > │ </text>                                                                      │

23:19:36 #11622 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11623 [Debug] > │ points="585,285 590,285 "/>                                                  │

23:19:36 #11624 [Debug] > │ <text x="595" y="237" dy="0.5ex" text-anchor="start"                         │

23:19:36 #11625 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11626 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11627 [Debug] > │ 0.0                                                                          │

23:19:36 #11628 [Debug] > │ </text>                                                                      │

23:19:36 #11629 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11630 [Debug] > │ points="585,237 590,237 "/>                                                  │

23:19:36 #11631 [Debug] > │ <text x="595" y="189" dy="0.5ex" text-anchor="start"                         │

23:19:36 #11632 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11633 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11634 [Debug] > │ 0.0                                                                          │

23:19:36 #11635 [Debug] > │ </text>                                                                      │

23:19:36 #11636 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11637 [Debug] > │ points="585,189 590,189 "/>                                                  │

23:19:36 #11638 [Debug] > │ <text x="595" y="142" dy="0.5ex" text-anchor="start"                         │

23:19:36 #11639 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11640 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11641 [Debug] > │ 0.0                                                                          │

23:19:36 #11642 [Debug] > │ </text>                                                                      │

23:19:36 #11643 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11644 [Debug] > │ points="585,142 590,142 "/>                                                  │

23:19:36 #11645 [Debug] > │ <text x="595" y="94" dy="0.5ex" text-anchor="start" font-family="sans-serif" │

23:19:36 #11646 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:36 #11647 [Debug] > │ 0.0                                                                          │

23:19:36 #11648 [Debug] > │ </text>                                                                      │

23:19:36 #11649 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:36 #11650 [Debug] > │ points="585,94 590,94 "/>                                                    │

23:19:36 #11651 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:36 #11652 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94    │

23:19:36 #11653 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94    │

23:19:36 #11654 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │

23:19:36 #11655 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │

23:19:36 #11656 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │

23:19:36 #11657 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │

23:19:36 #11658 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │

23:19:36 #11659 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │

23:19:36 #11660 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │

23:19:36 #11661 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │

23:19:36 #11662 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │

23:19:36 #11663 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │

23:19:36 #11664 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │

23:19:36 #11665 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │

23:19:36 #11666 [Debug] > │ 302,94 303,94 305,94 306,94 308,243 309,402 311,368 312,185 314,85 315,85    │

23:19:36 #11667 [Debug] > │ 317,85 318,85 320,85 321,85 323,85 324,85 326,85 327,85 329,85 330,85 332,85 │

23:19:36 #11668 [Debug] > │ 333,85 335,85 336,85 338,85 339,85 341,85 342,85 344,85 345,85 347,85 348,85 │

23:19:36 #11669 [Debug] > │ 350,85 351,85 353,85 354,85 356,85 357,85 359,85 360,85 362,85 363,85 365,85 │

23:19:36 #11670 [Debug] > │ 366,85 368,85 369,85 371,85 372,85 374,85 375,85 377,85 378,85 380,85 381,85 │

23:19:36 #11671 [Debug] > │ 383,85 384,85 386,85 387,85 389,85 390,85 392,85 393,85 395,85 396,85 398,85 │

23:19:36 #11672 [Debug] > │ 399,85 401,85 402,85 404,85 405,85 407,85 408,85 410,85 411,85 413,85 414,85 │

23:19:36 #11673 [Debug] > │ 416,85 417,85 419,85 420,85 422,85 423,85 425,85 426,85 428,85 429,85 431,85 │

23:19:36 #11674 [Debug] > │ 432,85 434,85 435,85 437,85 438,85 440,85 441,85 443,85 444,85 446,85 447,85 │

23:19:36 #11675 [Debug] > │ 449,85 450,85 452,85 453,85 455,85 456,85 458,85 459,85 461,85 462,85 464,85 │

23:19:36 #11676 [Debug] > │ 465,85 467,85 468,85 470,85 471,85 473,85 474,85 476,85 477,85 479,85 480,85 │

23:19:36 #11677 [Debug] > │ 482,85 483,85 485,85 486,85 488,85 489,85 491,85 492,85 494,85 495,85 497,85 │

23:19:36 #11678 [Debug] > │ 498,85 500,85 501,85 503,85 504,85 506,85 507,85 509,85 510,85 512,85 513,85 │

23:19:36 #11679 [Debug] > │ 515,85 516,85 518,85 519,85 521,85 522,85 524,85 525,85 527,85 528,85 530,85 │

23:19:36 #11680 [Debug] > │ 531,85 533,85 534,85 536,85 537,85 539,85 540,85 542,85 543,85 545,85 546,85 │

23:19:36 #11681 [Debug] > │ 548,85 549,85 551,85 552,85 554,85 555,85 557,85 558,85 560,85 561,85 563,85 │

23:19:36 #11682 [Debug] > │ 564,85 566,85 567,85 569,85 "/>                                              │

23:19:36 #11683 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:36 #11684 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94    │

23:19:36 #11685 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94    │

23:19:36 #11686 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │

23:19:36 #11687 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │

23:19:36 #11688 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │

23:19:36 #11689 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │

23:19:36 #11690 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │

23:19:36 #11691 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │

23:19:36 #11692 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │

23:19:36 #11693 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │

23:19:36 #11694 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │

23:19:36 #11695 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │

23:19:36 #11696 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │

23:19:36 #11697 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │

23:19:36 #11698 [Debug] > │ 302,94 303,94 305,94 306,157 308,335 309,415 311,298 312,130 314,104 315,104 │

23:19:36 #11699 [Debug] > │ 317,104 318,104 320,104 321,104 323,104 324,104 326,104 327,104 329,104      │

23:19:36 #11700 [Debug] > │ 330,104 332,104 333,104 335,104 336,104 338,104 339,104 341,104 342,104      │

23:19:36 #11701 [Debug] > │ 344,104 345,104 347,104 348,104 350,104 351,104 353,104 354,104 356,104      │

23:19:36 #11702 [Debug] > │ 357,104 359,104 360,104 362,104 363,104 365,104 366,104 368,104 369,104      │

23:19:36 #11703 [Debug] > │ 371,104 372,104 374,104 375,104 377,104 378,104 380,104 381,104 383,104      │

23:19:36 #11704 [Debug] > │ 384,104 386,104 387,104 389,104 390,104 392,104 393,104 395,104 396,104      │

23:19:36 #11705 [Debug] > │ 398,104 399,104 401,104 402,104 404,104 405,104 407,104 408,104 410,104      │

23:19:36 #11706 [Debug] > │ 411,104 413,104 414,104 416,104 417,104 419,104 420,104 422,104 423,104      │

23:19:36 #11707 [Debug] > │ 425,104 426,104 428,104 429,104 431,104 432,104 434,104 435,104 437,104      │

23:19:36 #11708 [Debug] > │ 438,104 440,104 441,104 443,104 444,104 446,104 447,104 449,104 450,104      │

23:19:36 #11709 [Debug] > │ 452,104 453,104 455,104 456,104 458,104 459,104 461,104 462,104 464,104      │

23:19:36 #11710 [Debug] > │ 465,104 467,104 468,104 470,104 471,104 473,104 474,104 476,104 477,104      │

23:19:36 #11711 [Debug] > │ 479,104 480,104 482,104 483,104 485,104 486,104 488,104 489,104 491,104      │

23:19:36 #11712 [Debug] > │ 492,104 494,104 495,104 497,104 498,104 500,104 501,104 503,104 504,104      │

23:19:36 #11713 [Debug] > │ 506,104 507,104 509,104 510,104 512,104 513,104 515,104 516,104 518,104      │

23:19:36 #11714 [Debug] > │ 519,104 521,104 522,104 524,104 525,104 527,104 528,104 530,104 531,104      │

23:19:36 #11715 [Debug] > │ 533,104 534,104 536,104 537,104 539,104 540,104 542,104 543,104 545,104      │

23:19:36 #11716 [Debug] > │ 546,104 548,104 549,104 551,104 552,104 554,104 555,104 557,104 558,104      │

23:19:36 #11717 [Debug] > │ 560,104 561,104 563,104 564,104 566,104 567,104 569,104 "/>                  │

23:19:36 #11718 [Debug] > │ <rect x="459" y="227" width="121" height="45" opacity="1" fill="none"        │

23:19:36 #11719 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:36 #11720 [Debug] > │ <text x="499" y="237" dy="0.76em" text-anchor="start"                        │

23:19:36 #11721 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11722 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11723 [Debug] > │ euler-cromer                                                                 │

23:19:36 #11724 [Debug] > │ </text>                                                                      │

23:19:36 #11725 [Debug] > │ <text x="499" y="252" dy="0.76em" text-anchor="start"                        │

23:19:36 #11726 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:36 #11727 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:36 #11728 [Debug] > │ runge-kutta 4                                                                │

23:19:36 #11729 [Debug] > │ </text>                                                                      │

23:19:36 #11730 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:36 #11731 [Debug] > │ points="469,242 489,242 "/>                                                  │

23:19:36 #11732 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:36 #11733 [Debug] > │ points="469,257 489,257 "/>                                                  │

23:19:36 #11734 [Debug] > │ </svg>                                                                       │

23:19:36 #11735 [Debug] > │                                                                              │

23:19:36 #11736 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:36 #11737 [Debug] >

23:19:36 #11738 [Debug] > ╭─[ 1.88s - stdout ]───────────────────────────────────────────────────────────╮

23:19:36 #11739 [Debug] > │ type UH0 =                                                                   │

23:19:36 #11740 [Debug] > │     | UH0_0 of float * float * float * float * float * float * float * float │

23:19:36 #11741 [Debug] > │ * float * UH0                                                                │

23:19:36 #11742 [Debug] > │     | UH0_1                                                                  │

23:19:36 #11743 [Debug] > │ and UH1 =                                                                    │

23:19:36 #11744 [Debug] > │     | UH1_0 of float * float * float * float * float * float * float * float │

23:19:36 #11745 [Debug] > │ * float * UH1                                                                │

23:19:36 #11746 [Debug] > │     | UH1_1                                                                  │

23:19:36 #11747 [Debug] > │ and UH2 =                                                                    │

23:19:36 #11748 [Debug] > │     | UH2_0 of float * float * float * float * float * float * float * float │

23:19:36 #11749 [Debug] > │ * float * float * float * float * float * float * float * float * float *    │

23:19:36 #11750 [Debug] > │ float * UH2                                                                  │

23:19:36 #11751 [Debug] > │     | UH2_1                                                                  │

23:19:36 #11752 [Debug] > │ and UH3 =                                                                    │

23:19:36 #11753 [Debug] > │     | UH3_0 of int32 * float * float * float * float * float * float * float │

23:19:36 #11754 [Debug] > │ * float * float * UH3                                                        │

23:19:36 #11755 [Debug] > │     | UH3_1                                                                  │

23:19:36 #11756 [Debug] > │ and [<Struct>] US0 =                                                         │

23:19:36 #11757 [Debug] > │     | US0_0                                                                  │

23:19:36 #11758 [Debug] > │     | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float *   │

23:19:36 #11759 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float     │

23:19:36 #11760 [Debug] > │ and UH4 =                                                                    │

23:19:36 #11761 [Debug] > │     | UH4_0 of UH0 * UH4                                                     │

23:19:36 #11762 [Debug] > │     | UH4_1                                                                  │

23:19:36 #11763 [Debug] > │ and UH5 =                                                                    │

23:19:36 #11764 [Debug] > │     | UH5_0 of float * float * UH5                                           │

23:19:36 #11765 [Debug] > │     | UH5_1                                                                  │

23:19:36 #11766 [Debug] > │ and UH6 =                                                                    │

23:19:36 #11767 [Debug] > │     | UH6_0 of float * UH6                                                   │

23:19:36 #11768 [Debug] > │     | UH6_1                                                                  │

23:19:36 #11769 [Debug] > │ let rec method2 (v0 : UH0, v1 : UH0) : UH0 =                                 │

23:19:36 #11770 [Debug] > │     match v0 with                                                            │

23:19:36 #11771 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:36 #11772 [Debug] > │         let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1)       │

23:19:36 #11773 [Debug] > │         method2(v11, v12)                                                    │

23:19:36 #11774 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:36 #11775 [Debug] > │         v1                                                                   │

23:19:36 #11776 [Debug] > │ and method1 (v0 : float, v1 : UH0, v2 : UH1, v3 : UH0) : UH0 =               │

23:19:36 #11777 [Debug] > │     match v2 with                                                            │

23:19:36 #11778 [Debug] > │     | UH1_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *)        │

23:19:36 #11779 [Debug] > │         match v3 with                                                        │

23:19:36 #11780 [Debug] > │         | UH0_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* Cons │

23:19:36 #11781 [Debug] > │ *)                                                                           │

23:19:36 #11782 [Debug] > │             let v24 : float = v9 * v0                                        │

23:19:36 #11783 [Debug] > │             let v25 : float = v19 + v24                                      │

23:19:36 #11784 [Debug] > │             let v26 : float = v0 * v6                                        │

23:19:36 #11785 [Debug] > │             let v27 : float = v0 * v7                                        │

23:19:36 #11786 [Debug] > │             let v28 : float = v0 * v8                                        │

23:19:36 #11787 [Debug] > │             let v29 : float = v16 + v26                                      │

23:19:36 #11788 [Debug] > │             let v30 : float = v17 + v27                                      │

23:19:36 #11789 [Debug] > │             let v31 : float = v18 + v28                                      │

23:19:36 #11790 [Debug] > │             let v32 : float = v0 * v10                                       │

23:19:36 #11791 [Debug] > │             let v33 : float = v0 * v11                                       │

23:19:36 #11792 [Debug] > │             let v34 : float = v0 * v12                                       │

23:19:36 #11793 [Debug] > │             let v35 : float = v20 + v32                                      │

23:19:36 #11794 [Debug] > │             let v36 : float = v21 + v33                                      │

23:19:36 #11795 [Debug] > │             let v37 : float = v22 + v34                                      │

23:19:36 #11796 [Debug] > │             let v38 : UH0 = UH0_0(v14, v15, v29, v30, v31, v25, v35, v36,    │

23:19:36 #11797 [Debug] > │ v37, v1)                                                                     │

23:19:36 #11798 [Debug] > │             method1(v0, v38, v13, v23)                                       │

23:19:36 #11799 [Debug] > │         | _ ->                                                               │

23:19:36 #11800 [Debug] > │             let v40 : UH0 = UH0_1                                            │

23:19:36 #11801 [Debug] > │             method2(v1, v40)                                                 │

23:19:36 #11802 [Debug] > │     | _ ->                                                                   │

23:19:36 #11803 [Debug] > │         let v43 : UH0 = UH0_1                                                │

23:19:36 #11804 [Debug] > │         method2(v1, v43)                                                     │

23:19:36 #11805 [Debug] > │ and method4 (v0 : UH2, v1 : UH2) : UH2 =                                     │

23:19:36 #11806 [Debug] > │     match v0 with                                                            │

23:19:36 #11807 [Debug] > │     | UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15,    │

23:19:36 #11808 [Debug] > │ v16, v17, v18, v19, v20) -> (* Cons *)                                       │

23:19:36 #11809 [Debug] > │         let v21 : UH2 = UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, │

23:19:36 #11810 [Debug] > │ v13, v14, v15, v16, v17, v18, v19, v1)                                       │

23:19:36 #11811 [Debug] > │         method4(v20, v21)                                                    │

23:19:36 #11812 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:36 #11813 [Debug] > │         v1                                                                   │

23:19:36 #11814 [Debug] > │ and method3 (v0 : UH2, v1 : UH0, v2 : UH0) : UH2 =                           │

23:19:36 #11815 [Debug] > │     match v1 with                                                            │

23:19:36 #11816 [Debug] > │     | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *)         │

23:19:36 #11817 [Debug] > │         match v2 with                                                        │

23:19:36 #11818 [Debug] > │         | UH0_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │

23:19:36 #11819 [Debug] > │ *)                                                                           │

23:19:36 #11820 [Debug] > │             let v23 : UH2 = UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v13, │

23:19:36 #11821 [Debug] > │ v14, v15, v16, v17, v18, v19, v20, v21, v0)                                  │

23:19:36 #11822 [Debug] > │             method3(v23, v12, v22)                                           │

23:19:36 #11823 [Debug] > │         | _ ->                                                               │

23:19:36 #11824 [Debug] > │             let v25 : UH2 = UH2_1                                            │

23:19:36 #11825 [Debug] > │             method4(v0, v25)                                                 │

23:19:36 #11826 [Debug] > │     | _ ->                                                                   │

23:19:36 #11827 [Debug] > │         let v28 : UH2 = UH2_1                                                │

23:19:36 #11828 [Debug] > │         method4(v0, v28)                                                     │

23:19:36 #11829 [Debug] > │ and method5 (v0 : float, v1 : UH2, v2 : UH0) : UH0 =                         │

23:19:36 #11830 [Debug] > │     match v1 with                                                            │

23:19:36 #11831 [Debug] > │     | UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16,   │

23:19:36 #11832 [Debug] > │ v17, v18, v19, v20, v21) -> (* Cons *)                                       │

23:19:36 #11833 [Debug] > │         let v22 : UH0 = method5(v0, v21, v2)                                 │

23:19:36 #11834 [Debug] > │         let v23 : float = v0 * v18                                           │

23:19:36 #11835 [Debug] > │         let v24 : float = v0 * v19                                           │

23:19:36 #11836 [Debug] > │         let v25 : float = v0 * v20                                           │

23:19:36 #11837 [Debug] > │         let v26 : float = v5 + v23                                           │

23:19:36 #11838 [Debug] > │         let v27 : float = v6 + v24                                           │

23:19:36 #11839 [Debug] > │         let v28 : float = v7 + v25                                           │

23:19:36 #11840 [Debug] > │         UH0_0(v12, v13, v26, v27, v28, v17, v18, v19, v20, v22)              │

23:19:36 #11841 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:36 #11842 [Debug] > │         v2                                                                   │

23:19:36 #11843 [Debug] > │ and closure2 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 =              │

23:19:36 #11844 [Debug] > │     let v3 : UH1 = v1 v2                                                     │

23:19:36 #11845 [Debug] > │     let v4 : UH0 = UH0_1                                                     │

23:19:36 #11846 [Debug] > │     let v5 : UH0 = method1(v0, v4, v3, v2)                                   │

23:19:36 #11847 [Debug] > │     let v6 : UH2 = UH2_1                                                     │

23:19:36 #11848 [Debug] > │     let v7 : UH2 = method3(v6, v2, v5)                                       │

23:19:36 #11849 [Debug] > │     let v8 : UH0 = UH0_1                                                     │

23:19:36 #11850 [Debug] > │     let v9 : UH0 = method5(v0, v7, v8)                                       │

23:19:36 #11851 [Debug] > │     v9                                                                       │

23:19:36 #11852 [Debug] > │ and closure1 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) =               │

23:19:36 #11853 [Debug] > │     closure2(v0, v1)                                                         │

23:19:36 #11854 [Debug] > │ and closure0 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) =              │

23:19:36 #11855 [Debug] > │     closure1(v0)                                                             │

23:19:36 #11856 [Debug] > │ and method6 (v0 : UH0, v1 : UH3, v2 : int32) : struct (UH3 * int32) =        │

23:19:36 #11857 [Debug] > │     match v0 with                                                            │

23:19:36 #11858 [Debug] > │     | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *)         │

23:19:36 #11859 [Debug] > │         let v13 : int32 = v2 + 1                                             │

23:19:36 #11860 [Debug] > │         let v14 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1)  │

23:19:36 #11861 [Debug] > │         method6(v12, v14, v13)                                               │

23:19:36 #11862 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:36 #11863 [Debug] > │         struct (v1, v2)                                                      │

23:19:36 #11864 [Debug] > │ and method7 (v0 : UH3, v1 : UH3) : UH3 =                                     │

23:19:36 #11865 [Debug] > │     match v0 with                                                            │

23:19:36 #11866 [Debug] > │     | UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *)     │

23:19:36 #11867 [Debug] > │         let v13 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1)  │

23:19:36 #11868 [Debug] > │         method7(v12, v13)                                                    │

23:19:36 #11869 [Debug] > │     | UH3_1 -> (* Nil *)                                                     │

23:19:36 #11870 [Debug] > │         v1                                                                   │

23:19:36 #11871 [Debug] > │ and closure4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │

23:19:36 #11872 [Debug] > │ : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 :       │

23:19:36 #11873 [Debug] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16  │

23:19:36 #11874 [Debug] > │ : float, v17 : float) : struct (float * float * float) =                     │

23:19:36 #11875 [Debug] > │     let v18 : float = -1.0 * v2                                              │

23:19:36 #11876 [Debug] > │     let v19 : float = -1.0 * v3                                              │

23:19:36 #11877 [Debug] > │     let v20 : float = -1.0 * v4                                              │

23:19:36 #11878 [Debug] > │     let v21 : float = v11 + v18                                              │

23:19:36 #11879 [Debug] > │     let v22 : float = v12 + v19                                              │

23:19:36 #11880 [Debug] > │     let v23 : float = v13 + v20                                              │

23:19:36 #11881 [Debug] > │     let v24 : float = v21 * v21                                              │

23:19:36 #11882 [Debug] > │     let v25 : float = v22 * v22                                              │

23:19:36 #11883 [Debug] > │     let v26 : float = v24 + v25                                              │

23:19:36 #11884 [Debug] > │     let v27 : float = v23 * v23                                              │

23:19:36 #11885 [Debug] > │     let v28 : float = v26 + v27                                              │

23:19:36 #11886 [Debug] > │     let v29 : float = sqrt v28                                               │

23:19:36 #11887 [Debug] > │     let v30 : bool = v29 >= 0.06                                             │

23:19:36 #11888 [Debug] > │     let v33 : float =                                                        │

23:19:36 #11889 [Debug] > │         if v30 then                                                          │

23:19:36 #11890 [Debug] > │             0.0                                                              │

23:19:36 #11891 [Debug] > │         else                                                                 │

23:19:36 #11892 [Debug] > │             let v31 : float = v29 - 0.06                                     │

23:19:36 #11893 [Debug] > │             let v32 : float = -30.0 * v31                                    │

23:19:36 #11894 [Debug] > │             v32                                                              │

23:19:36 #11895 [Debug] > │     let v34 : float = v33 * v21                                              │

23:19:36 #11896 [Debug] > │     let v35 : float = v33 * v22                                              │

23:19:36 #11897 [Debug] > │     let v36 : float = v33 * v23                                              │

23:19:36 #11898 [Debug] > │     let v37 : float = v34 / v29                                              │

23:19:36 #11899 [Debug] > │     let v38 : float = v35 / v29                                              │

23:19:36 #11900 [Debug] > │     let v39 : float = v36 / v29                                              │

23:19:36 #11901 [Debug] > │     struct (v37, v38, v39)                                                   │

23:19:36 #11902 [Debug] > │ and closure5 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │

23:19:36 #11903 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float *     │

23:19:36 #11904 [Debug] > │ float * float) =                                                             │

23:19:36 #11905 [Debug] > │     struct (0.0, 0.0, 0.0)                                                   │

23:19:36 #11906 [Debug] > │ and method8 (v0 : UH0, v1 : UH3, v2 : UH1) : UH1 =                           │

23:19:36 #11907 [Debug] > │     match v1 with                                                            │

23:19:36 #11908 [Debug] > │     | UH3_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *)    │

23:19:36 #11909 [Debug] > │         let v14 : UH1 = method8(v0, v13, v2)                                 │

23:19:36 #11910 [Debug] > │         let v15 : bool = v3 = 0                                              │

23:19:36 #11911 [Debug] > │         let v134 : (struct (float * float * float * float * float * float *  │

23:19:36 #11912 [Debug] > │ float * float * float) -> struct (float * float * float)) =                  │

23:19:36 #11913 [Debug] > │             if v15 then                                                      │

23:19:36 #11914 [Debug] > │                 let v42 : US0 =                                              │

23:19:36 #11915 [Debug] > │                     match v0 with                                            │

23:19:36 #11916 [Debug] > │                     | UH0_0(v16, v17, v18, v19, v20, v21, v22, v23, v24,     │

23:19:36 #11917 [Debug] > │ v25) -> (* Cons *)                                                           │

23:19:36 #11918 [Debug] > │                         match v25 with                                       │

23:19:36 #11919 [Debug] > │                         | UH0_0(v26, v27, v28, v29, v30, v31, v32, v33, v34, │

23:19:36 #11920 [Debug] > │ v35) -> (* Cons *)                                                           │

23:19:36 #11921 [Debug] > │                             US0_1(v26, v27, v28, v29, v30, v31, v32, v33,    │

23:19:36 #11922 [Debug] > │ v34)                                                                         │

23:19:36 #11923 [Debug] > │                         | UH0_1 -> (* Nil *)                                 │

23:19:36 #11924 [Debug] > │                             US0_0                                            │

23:19:36 #11925 [Debug] > │                     | UH0_1 -> (* Nil *)                                     │

23:19:36 #11926 [Debug] > │                         US0_0                                                │

23:19:36 #11927 [Debug] > │                 let struct (v70 : float, v71 : float, v72 : float, v73 :     │

23:19:36 #11928 [Debug] > │ float, v74 : float, v75 : float, v76 : float, v77 : float, v78 : float) =    │

23:19:36 #11929 [Debug] > │                     match v42 with                                           │

23:19:36 #11930 [Debug] > │                     | US0_0 -> (* None *)                                    │

23:19:36 #11931 [Debug] > │                         failwith<struct (float * float * float * float *     │

23:19:36 #11932 [Debug] > │ float * float * float * float * float)> "Option does not have a value."      │

23:19:36 #11933 [Debug] > │                     | US0_1(v43, v44, v45, v46, v47, v48, v49, v50, v51) ->  │

23:19:36 #11934 [Debug] > │ (* Some *)                                                                   │

23:19:36 #11935 [Debug] > │                         struct (v43, v44, v45, v46, v47, v48, v49, v50, v51) │

23:19:36 #11936 [Debug] > │                 closure4(v70, v71, v72, v73, v74, v75, v76, v77, v78)        │

23:19:36 #11937 [Debug] > │             else                                                             │

23:19:36 #11938 [Debug] > │                 let v80 : bool = v3 = 1                                      │

23:19:36 #11939 [Debug] > │                 if v80 then                                                  │

23:19:36 #11940 [Debug] > │                     let v94 : US0 =                                          │

23:19:36 #11941 [Debug] > │                         match v0 with                                        │

23:19:36 #11942 [Debug] > │                         | UH0_0(v81, v82, v83, v84, v85, v86, v87, v88, v89, │

23:19:36 #11943 [Debug] > │ v90) -> (* Cons *)                                                           │

23:19:36 #11944 [Debug] > │                             US0_1(v81, v82, v83, v84, v85, v86, v87, v88,    │

23:19:36 #11945 [Debug] > │ v89)                                                                         │

23:19:36 #11946 [Debug] > │                         | UH0_1 -> (* Nil *)                                 │

23:19:36 #11947 [Debug] > │                             US0_0                                            │

23:19:36 #11948 [Debug] > │                     let struct (v122 : float, v123 : float, v124 : float,    │

23:19:36 #11949 [Debug] > │ v125 : float, v126 : float, v127 : float, v128 : float, v129 : float, v130 : │

23:19:36 #11950 [Debug] > │ float) =                                                                     │

23:19:36 #11951 [Debug] > │                         match v94 with                                       │

23:19:36 #11952 [Debug] > │                         | US0_0 -> (* None *)                                │

23:19:36 #11953 [Debug] > │                             failwith<struct (float * float * float * float * │

23:19:36 #11954 [Debug] > │ float * float * float * float * float)> "Option does not have a value."      │

23:19:36 #11955 [Debug] > │                         | US0_1(v95, v96, v97, v98, v99, v100, v101, v102,   │

23:19:36 #11956 [Debug] > │ v103) -> (* Some *)                                                          │

23:19:36 #11957 [Debug] > │                             struct (v95, v96, v97, v98, v99, v100, v101,     │

23:19:36 #11958 [Debug] > │ v102, v103)                                                                  │

23:19:36 #11959 [Debug] > │                     closure4(v122, v123, v124, v125, v126, v127, v128, v129, │

23:19:36 #11960 [Debug] > │ v130)                                                                        │

23:19:36 #11961 [Debug] > │                 else                                                         │

23:19:36 #11962 [Debug] > │                     closure5()                                               │

23:19:36 #11963 [Debug] > │         let struct (v135 : float, v136 : float, v137 : float) = v134 struct  │

23:19:36 #11964 [Debug] > │ (v4, v5, v6, v7, v8, v9, v10, v11, v12)                                      │

23:19:36 #11965 [Debug] > │         let v138 : float = v135 / v5                                         │

23:19:36 #11966 [Debug] > │         let v139 : float = v136 / v5                                         │

23:19:36 #11967 [Debug] > │         let v140 : float = v137 / v5                                         │

23:19:36 #11968 [Debug] > │         UH1_0(0.0, 0.0, v10, v11, v12, 1.0, v138, v139, v140, v14)           │

23:19:36 #11969 [Debug] > │     | UH3_1 -> (* Nil *)                                                     │

23:19:36 #11970 [Debug] > │         v2                                                                   │

23:19:36 #11971 [Debug] > │ and closure3 () (v0 : UH0) : UH1 =                                           │

23:19:36 #11972 [Debug] > │     let v1 : UH3 = UH3_1                                                     │

23:19:36 #11973 [Debug] > │     let v2 : int32 = 0                                                       │

23:19:36 #11974 [Debug] > │     let struct (v3 : UH3, v4 : int32) = method6(v0, v1, v2)                  │

23:19:36 #11975 [Debug] > │     let v5 : UH3 = UH3_1                                                     │

23:19:36 #11976 [Debug] > │     let v6 : UH3 = method7(v3, v5)                                           │

23:19:36 #11977 [Debug] > │     let v7 : UH1 = UH1_1                                                     │

23:19:36 #11978 [Debug] > │     let v8 : UH1 = method8(v0, v6, v7)                                       │

23:19:36 #11979 [Debug] > │     v8                                                                       │

23:19:36 #11980 [Debug] > │ and method10 (v0 : (UH0 -> UH0), v1 : UH0, v2 : int32) : UH0 =               │

23:19:36 #11981 [Debug] > │     let v3 : bool = v2 <= 0                                                  │

23:19:36 #11982 [Debug] > │     if v3 then                                                               │

23:19:36 #11983 [Debug] > │         v1                                                                   │

23:19:36 #11984 [Debug] > │     else                                                                     │

23:19:36 #11985 [Debug] > │         let v4 : UH0 = v0 v1                                                 │

23:19:36 #11986 [Debug] > │         let v5 : int32 = v2 - 1                                              │

23:19:36 #11987 [Debug] > │         method10(v0, v4, v5)                                                 │

23:19:36 #11988 [Debug] > │ and method11 (v0 : UH4, v1 : UH4) : UH4 =                                    │

23:19:36 #11989 [Debug] > │     match v0 with                                                            │

23:19:36 #11990 [Debug] > │     | UH4_0(v2, v3) -> (* Cons *)                                            │

23:19:36 #11991 [Debug] > │         let v4 : UH4 = UH4_0(v2, v1)                                         │

23:19:36 #11992 [Debug] > │         method11(v3, v4)                                                     │

23:19:36 #11993 [Debug] > │     | UH4_1 -> (* Nil *)                                                     │

23:19:36 #11994 [Debug] > │         v1                                                                   │

23:19:36 #11995 [Debug] > │ and method9 (v0 : (UH0 -> UH0), v1 : UH4, v2 : int32) : UH4 =                │

23:19:36 #11996 [Debug] > │     let v3 : float = 0.0                                                     │

23:19:36 #11997 [Debug] > │     let v4 : float = 0.16                                                    │

23:19:36 #11998 [Debug] > │     let v5 : float = 0.0                                                     │

23:19:36 #11999 [Debug] > │     let v6 : float = 0.0                                                     │

23:19:36 #12000 [Debug] > │     let v7 : float = 0.0                                                     │

23:19:36 #12001 [Debug] > │     let v8 : float = 0.0                                                     │

23:19:36 #12002 [Debug] > │     let v9 : float = 0.2                                                     │

23:19:36 #12003 [Debug] > │     let v10 : float = 0.0                                                    │

23:19:36 #12004 [Debug] > │     let v11 : float = 0.0                                                    │

23:19:36 #12005 [Debug] > │     let v12 : float = 1.0                                                    │

23:19:36 #12006 [Debug] > │     let v13 : float = 0.02                                                   │

23:19:36 #12007 [Debug] > │     let v14 : float = 0.0                                                    │

23:19:36 #12008 [Debug] > │     let v15 : float = 0.0                                                    │

23:19:36 #12009 [Debug] > │     let v16 : float = 0.0                                                    │

23:19:36 #12010 [Debug] > │     let v17 : float = 0.0                                                    │

23:19:36 #12011 [Debug] > │     let v18 : UH0 = UH0_1                                                    │

23:19:36 #12012 [Debug] > │     let v19 : UH0 = UH0_0(v3, v4, v12, v13, v14, v8, v15, v16, v17, v18)     │

23:19:36 #12013 [Debug] > │     let v20 : UH0 = UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v19)         │

23:19:36 #12014 [Debug] > │     let v21 : UH0 = method10(v0, v20, v2)                                    │

23:19:36 #12015 [Debug] > │     let v35 : US0 =                                                          │

23:19:36 #12016 [Debug] > │         match v21 with                                                       │

23:19:36 #12017 [Debug] > │         | UH0_0(v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) -> (* Cons │

23:19:36 #12018 [Debug] > │ *)                                                                           │

23:19:36 #12019 [Debug] > │             US0_1(v22, v23, v24, v25, v26, v27, v28, v29, v30)               │

23:19:36 #12020 [Debug] > │         | UH0_1 -> (* Nil *)                                                 │

23:19:36 #12021 [Debug] > │             US0_0                                                            │

23:19:36 #12022 [Debug] > │     let struct (v63 : float, v64 : float, v65 : float, v66 : float, v67 :    │

23:19:36 #12023 [Debug] > │ float, v68 : float, v69 : float, v70 : float, v71 : float) =                 │

23:19:36 #12024 [Debug] > │         match v35 with                                                       │

23:19:36 #12025 [Debug] > │         | US0_0 -> (* None *)                                                │

23:19:36 #12026 [Debug] > │             failwith<struct (float * float * float * float * float * float * │

23:19:36 #12027 [Debug] > │ float * float * float)> "Option does not have a value."                      │

23:19:36 #12028 [Debug] > │         | US0_1(v36, v37, v38, v39, v40, v41, v42, v43, v44) -> (* Some *)   │

23:19:36 #12029 [Debug] > │             struct (v36, v37, v38, v39, v40, v41, v42, v43, v44)             │

23:19:36 #12030 [Debug] > │     let v72 : bool = v68 <= 10.0                                             │

23:19:36 #12031 [Debug] > │     if v72 then                                                              │

23:19:36 #12032 [Debug] > │         let v73 : UH4 = UH4_0(v21, v1)                                       │

23:19:36 #12033 [Debug] > │         let v74 : int32 = v2 + 1                                             │

23:19:36 #12034 [Debug] > │         method9(v0, v73, v74)                                                │

23:19:36 #12035 [Debug] > │     else                                                                     │

23:19:36 #12036 [Debug] > │         let v76 : UH4 = UH4_1                                                │

23:19:36 #12037 [Debug] > │         method11(v1, v76)                                                    │

23:19:36 #12038 [Debug] > │ and method13 (v0 : UH0, v1 : UH6) : UH6 =                                    │

23:19:36 #12039 [Debug] > │     match v0 with                                                            │

23:19:36 #12040 [Debug] > │     | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:36 #12041 [Debug] > │         let v12 : UH6 = method13(v11, v1)                                    │

23:19:36 #12042 [Debug] > │         let v13 : float = v8 * v8                                            │

23:19:36 #12043 [Debug] > │         let v14 : float = v9 * v9                                            │

23:19:36 #12044 [Debug] > │         let v15 : float = v13 + v14                                          │

23:19:36 #12045 [Debug] > │         let v16 : float = v10 * v10                                          │

23:19:36 #12046 [Debug] > │         let v17 : float = v15 + v16                                          │

23:19:36 #12047 [Debug] > │         let v18 : float = sqrt v17                                           │

23:19:36 #12048 [Debug] > │         let v19 : float = 0.5 * v3                                           │

23:19:36 #12049 [Debug] > │         let v20 : float = v18 ** 2.0                                         │

23:19:36 #12050 [Debug] > │         let v21 : float = v19 * v20                                          │

23:19:36 #12051 [Debug] > │         UH6_0(v21, v12)                                                      │

23:19:36 #12052 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:36 #12053 [Debug] > │         v1                                                                   │

23:19:36 #12054 [Debug] > │ and method14 (v0 : UH6, v1 : float) : float =                                │

23:19:36 #12055 [Debug] > │     match v0 with                                                            │

23:19:36 #12056 [Debug] > │     | UH6_0(v2, v3) -> (* Cons *)                                            │

23:19:36 #12057 [Debug] > │         let v4 : float = v1 + v2                                             │

23:19:36 #12058 [Debug] > │         method14(v3, v4)                                                     │

23:19:36 #12059 [Debug] > │     | UH6_1 -> (* Nil *)                                                     │

23:19:36 #12060 [Debug] > │         v1                                                                   │

23:19:36 #12061 [Debug] > │ and method12 (v0 : UH4, v1 : UH5) : UH5 =                                    │

23:19:36 #12062 [Debug] > │     match v0 with                                                            │

23:19:36 #12063 [Debug] > │     | UH4_0(v2, v3) -> (* Cons *)                                            │

23:19:36 #12064 [Debug] > │         let v4 : UH5 = method12(v3, v1)                                      │

23:19:36 #12065 [Debug] > │         let v18 : US0 =                                                      │

23:19:36 #12066 [Debug] > │             match v2 with                                                    │

23:19:36 #12067 [Debug] > │             | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons  │

23:19:36 #12068 [Debug] > │ *)                                                                           │

23:19:36 #12069 [Debug] > │                 US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13)                │

23:19:36 #12070 [Debug] > │             | UH0_1 -> (* Nil *)                                             │

23:19:36 #12071 [Debug] > │                 US0_0                                                        │

23:19:36 #12072 [Debug] > │         let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50  │

23:19:36 #12073 [Debug] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) =               │

23:19:36 #12074 [Debug] > │             match v18 with                                                   │

23:19:36 #12075 [Debug] > │             | US0_0 -> (* None *)                                            │

23:19:36 #12076 [Debug] > │                 failwith<struct (float * float * float * float * float *     │

23:19:36 #12077 [Debug] > │ float * float * float * float)> "Option does not have a value."              │

23:19:36 #12078 [Debug] > │             | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some  │

23:19:36 #12079 [Debug] > │ *)                                                                           │

23:19:36 #12080 [Debug] > │                 struct (v19, v20, v21, v22, v23, v24, v25, v26, v27)         │

23:19:36 #12081 [Debug] > │         let v55 : UH6 = UH6_1                                                │

23:19:36 #12082 [Debug] > │         let v56 : UH6 = method13(v2, v55)                                    │

23:19:36 #12083 [Debug] > │         let v57 : float = 0.0                                                │

23:19:36 #12084 [Debug] > │         let v58 : float = method14(v56, v57)                                 │

23:19:36 #12085 [Debug] > │         UH5_0(v51, v58, v4)                                                  │

23:19:36 #12086 [Debug] > │     | UH4_1 -> (* Nil *)                                                     │

23:19:36 #12087 [Debug] > │         v1                                                                   │

23:19:36 #12088 [Debug] > │ and method15 (v0 : UH5, v1 : UH6, v2 : UH6) : struct (UH6 * UH6) =           │

23:19:36 #12089 [Debug] > │     match v0 with                                                            │

23:19:36 #12090 [Debug] > │     | UH5_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:36 #12091 [Debug] > │         let v6 : UH6 = UH6_0(v3, v1)                                         │

23:19:36 #12092 [Debug] > │         let v7 : UH6 = UH6_0(v4, v2)                                         │

23:19:36 #12093 [Debug] > │         method15(v5, v6, v7)                                                 │

23:19:36 #12094 [Debug] > │     | UH5_1 -> (* Nil *)                                                     │

23:19:36 #12095 [Debug] > │         struct (v1, v2)                                                      │

23:19:36 #12096 [Debug] > │ and method16 (v0 : UH6, v1 : UH6) : UH6 =                                    │

23:19:36 #12097 [Debug] > │     match v0 with                                                            │

23:19:36 #12098 [Debug] > │     | UH6_0(v2, v3) -> (* Cons *)                                            │

23:19:36 #12099 [Debug] > │         let v4 : UH6 = UH6_0(v2, v1)                                         │

23:19:36 #12100 [Debug] > │         method16(v3, v4)                                                     │

23:19:36 #12101 [Debug] > │     | UH6_1 -> (* Nil *)                                                     │

23:19:36 #12102 [Debug] > │         v1                                                                   │

23:19:36 #12103 [Debug] > │ and method18 (v0 : UH1, v1 : UH1) : UH1 =                                    │

23:19:36 #12104 [Debug] > │     match v0 with                                                            │

23:19:36 #12105 [Debug] > │     | UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *)          │

23:19:36 #12106 [Debug] > │         let v12 : UH1 = UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1)       │

23:19:36 #12107 [Debug] > │         method18(v11, v12)                                                   │

23:19:36 #12108 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:36 #12109 [Debug] > │         v1                                                                   │

23:19:36 #12110 [Debug] > │ and method17 (v0 : UH1, v1 : UH1, v2 : UH1) : UH1 =                          │

23:19:36 #12111 [Debug] > │     match v1 with                                                            │

23:19:36 #12112 [Debug] > │     | UH1_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *)         │

23:19:36 #12113 [Debug] > │         match v2 with                                                        │

23:19:36 #12114 [Debug] > │         | UH1_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │

23:19:36 #12115 [Debug] > │ *)                                                                           │

23:19:36 #12116 [Debug] > │             let v23 : float = v3 + v13                                       │

23:19:36 #12117 [Debug] > │             let v24 : float = v4 + v14                                       │

23:19:36 #12118 [Debug] > │             let v25 : float = v8 + v18                                       │

23:19:36 #12119 [Debug] > │             let v26 : float = v5 + v15                                       │

23:19:36 #12120 [Debug] > │             let v27 : float = v6 + v16                                       │

23:19:36 #12121 [Debug] > │             let v28 : float = v7 + v17                                       │

23:19:36 #12122 [Debug] > │             let v29 : float = v9 + v19                                       │

23:19:36 #12123 [Debug] > │             let v30 : float = v10 + v20                                      │

23:19:36 #12124 [Debug] > │             let v31 : float = v11 + v21                                      │

23:19:36 #12125 [Debug] > │             let v32 : UH1 = UH1_0(v23, v24, v26, v27, v28, v25, v29, v30,    │

23:19:36 #12126 [Debug] > │ v31, v0)                                                                     │

23:19:36 #12127 [Debug] > │             method17(v32, v12, v22)                                          │

23:19:36 #12128 [Debug] > │         | _ ->                                                               │

23:19:36 #12129 [Debug] > │             let v34 : UH1 = UH1_1                                            │

23:19:36 #12130 [Debug] > │             method18(v0, v34)                                                │

23:19:36 #12131 [Debug] > │     | _ ->                                                                   │

23:19:36 #12132 [Debug] > │         let v37 : UH1 = UH1_1                                                │

23:19:36 #12133 [Debug] > │         method18(v0, v37)                                                    │

23:19:36 #12134 [Debug] > │ and closure8 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 =              │

23:19:36 #12135 [Debug] > │     let v3 : UH1 = v1 v2                                                     │

23:19:36 #12136 [Debug] > │     let v4 : float = v0 / 2.0                                                │

23:19:36 #12137 [Debug] > │     let v5 : UH0 = UH0_1                                                     │

23:19:36 #12138 [Debug] > │     let v6 : UH0 = method1(v4, v5, v3, v2)                                   │

23:19:36 #12139 [Debug] > │     let v7 : UH1 = v1 v6                                                     │

23:19:36 #12140 [Debug] > │     let v8 : UH0 = UH0_1                                                     │

23:19:36 #12141 [Debug] > │     let v9 : UH0 = method1(v4, v8, v7, v2)                                   │

23:19:36 #12142 [Debug] > │     let v10 : UH1 = v1 v9                                                    │

23:19:36 #12143 [Debug] > │     let v11 : UH0 = UH0_1                                                    │

23:19:36 #12144 [Debug] > │     let v12 : UH0 = method1(v0, v11, v10, v2)                                │

23:19:36 #12145 [Debug] > │     let v13 : UH1 = v1 v12                                                   │

23:19:36 #12146 [Debug] > │     let v14 : float = v0 / 6.0                                               │

23:19:36 #12147 [Debug] > │     let v15 : UH1 = UH1_1                                                    │

23:19:36 #12148 [Debug] > │     let v16 : UH1 = method17(v15, v3, v7)                                    │

23:19:36 #12149 [Debug] > │     let v17 : UH1 = UH1_1                                                    │

23:19:36 #12150 [Debug] > │     let v18 : UH1 = method17(v17, v16, v7)                                   │

23:19:36 #12151 [Debug] > │     let v19 : UH1 = UH1_1                                                    │

23:19:36 #12152 [Debug] > │     let v20 : UH1 = method17(v19, v18, v10)                                  │

23:19:36 #12153 [Debug] > │     let v21 : UH1 = UH1_1                                                    │

23:19:36 #12154 [Debug] > │     let v22 : UH1 = method17(v21, v20, v10)                                  │

23:19:36 #12155 [Debug] > │     let v23 : UH1 = UH1_1                                                    │

23:19:36 #12156 [Debug] > │     let v24 : UH1 = method17(v23, v22, v13)                                  │

23:19:36 #12157 [Debug] > │     let v25 : UH0 = UH0_1                                                    │

23:19:36 #12158 [Debug] > │     let v26 : UH0 = method1(v14, v25, v24, v2)                               │

23:19:36 #12159 [Debug] > │     v26                                                                      │

23:19:36 #12160 [Debug] > │ and closure7 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) =               │

23:19:36 #12161 [Debug] > │     closure8(v0, v1)                                                         │

23:19:36 #12162 [Debug] > │ and closure6 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) =              │

23:19:36 #12163 [Debug] > │     closure7(v0)                                                             │

23:19:36 #12164 [Debug] > │ and method19 (v0 : UH4, v1 : UH5) : UH5 =                                    │

23:19:36 #12165 [Debug] > │     match v0 with                                                            │

23:19:36 #12166 [Debug] > │     | UH4_0(v2, v3) -> (* Cons *)                                            │

23:19:36 #12167 [Debug] > │         let v4 : UH5 = method19(v3, v1)                                      │

23:19:36 #12168 [Debug] > │         let v18 : US0 =                                                      │

23:19:36 #12169 [Debug] > │             match v2 with                                                    │

23:19:36 #12170 [Debug] > │             | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons  │

23:19:36 #12171 [Debug] > │ *)                                                                           │

23:19:36 #12172 [Debug] > │                 US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13)                │

23:19:36 #12173 [Debug] > │             | UH0_1 -> (* Nil *)                                             │

23:19:36 #12174 [Debug] > │                 US0_0                                                        │

23:19:36 #12175 [Debug] > │         let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50  │

23:19:36 #12176 [Debug] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) =               │

23:19:36 #12177 [Debug] > │             match v18 with                                                   │

23:19:36 #12178 [Debug] > │             | US0_0 -> (* None *)                                            │

23:19:36 #12179 [Debug] > │                 failwith<struct (float * float * float * float * float *     │

23:19:36 #12180 [Debug] > │ float * float * float * float)> "Option does not have a value."              │

23:19:36 #12181 [Debug] > │             | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some  │

23:19:36 #12182 [Debug] > │ *)                                                                           │

23:19:36 #12183 [Debug] > │                 struct (v19, v20, v21, v22, v23, v24, v25, v26, v27)         │

23:19:36 #12184 [Debug] > │         let v55 : UH6 = UH6_1                                                │

23:19:36 #12185 [Debug] > │         let v56 : UH6 = method13(v2, v55)                                    │

23:19:36 #12186 [Debug] > │         let v57 : float = 0.0                                                │

23:19:36 #12187 [Debug] > │         let v58 : float = method14(v56, v57)                                 │

23:19:36 #12188 [Debug] > │         UH5_0(v51, v58, v4)                                                  │

23:19:36 #12189 [Debug] > │     | UH4_1 -> (* Nil *)                                                     │

23:19:36 #12190 [Debug] > │         v1                                                                   │

23:19:36 #12191 [Debug] > │ and method21 (v0 : UH6, v1 : int32) : int32 =                                │

23:19:36 #12192 [Debug] > │     match v0 with                                                            │

23:19:36 #12193 [Debug] > │     | UH6_0(v2, v3) -> (* Cons *)                                            │

23:19:36 #12194 [Debug] > │         let v4 : int32 = v1 + 1                                              │

23:19:36 #12195 [Debug] > │         method21(v3, v4)                                                     │

23:19:36 #12196 [Debug] > │     | UH6_1 -> (* Nil *)                                                     │

23:19:36 #12197 [Debug] > │         v1                                                                   │

23:19:36 #12198 [Debug] > │ and method22 (v0 : (float []), v1 : UH6, v2 : int32) : int32 =               │

23:19:36 #12199 [Debug] > │     match v1 with                                                            │

23:19:36 #12200 [Debug] > │     | UH6_0(v3, v4) -> (* Cons *)                                            │

23:19:36 #12201 [Debug] > │         v0.[int v2] <- v3                                                    │

23:19:36 #12202 [Debug] > │         let v5 : int32 = v2 + 1                                              │

23:19:36 #12203 [Debug] > │         method22(v0, v4, v5)                                                 │

23:19:36 #12204 [Debug] > │     | UH6_1 -> (* Nil *)                                                     │

23:19:36 #12205 [Debug] > │         v2                                                                   │

23:19:36 #12206 [Debug] > │ and method20 (v0 : UH6) : (float []) =                                       │

23:19:36 #12207 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:36 #12208 [Debug] > │     let v2 : int32 = method21(v0, v1)                                        │

23:19:36 #12209 [Debug] > │     let v3 : (float []) = Array.zeroCreate<float> (v2)                       │

23:19:36 #12210 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:36 #12211 [Debug] > │     let v5 : int32 = method22(v3, v0, v4)                                    │

23:19:36 #12212 [Debug] > │     v3                                                                       │

23:19:36 #12213 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:36 #12214 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:36 #12215 [Debug] > │     let v0 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure0()          │

23:19:36 #12216 [Debug] > │     let v1 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v0 0.03                        │

23:19:36 #12217 [Debug] > │     let v2 : (UH0 -> UH1) = closure3()                                       │

23:19:36 #12218 [Debug] > │     let v3 : (UH0 -> UH0) = v1 v2                                            │

23:19:36 #12219 [Debug] > │     let v4 : UH4 = UH4_1                                                     │

23:19:36 #12220 [Debug] > │     let v5 : int32 = 0                                                       │

23:19:36 #12221 [Debug] > │     let v6 : UH4 = method9(v3, v4, v5)                                       │

23:19:36 #12222 [Debug] > │     let v7 : UH5 = UH5_1                                                     │

23:19:36 #12223 [Debug] > │     let v8 : UH5 = method12(v6, v7)                                          │

23:19:36 #12224 [Debug] > │     let v9 : UH6 = UH6_1                                                     │

23:19:36 #12225 [Debug] > │     let v10 : UH6 = UH6_1                                                    │

23:19:36 #12226 [Debug] > │     let struct (v11 : UH6, v12 : UH6) = method15(v8, v9, v10)                │

23:19:36 #12227 [Debug] > │     let v13 : UH6 = UH6_1                                                    │

23:19:36 #12228 [Debug] > │     let v14 : UH6 = method16(v11, v13)                                       │

23:19:36 #12229 [Debug] > │     let v15 : UH6 = UH6_1                                                    │

23:19:36 #12230 [Debug] > │     let v16 : UH6 = method16(v12, v15)                                       │

23:19:36 #12231 [Debug] > │     let v17 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure6()         │

23:19:36 #12232 [Debug] > │     let v18 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v17 0.03                      │

23:19:36 #12233 [Debug] > │     let v19 : (UH0 -> UH0) = v18 v2                                          │

23:19:36 #12234 [Debug] > │     let v20 : UH4 = UH4_1                                                    │

23:19:36 #12235 [Debug] > │     let v21 : int32 = 0                                                      │

23:19:36 #12236 [Debug] > │     let v22 : UH4 = method9(v19, v20, v21)                                   │

23:19:36 #12237 [Debug] > │     let v23 : UH5 = UH5_1                                                    │

23:19:36 #12238 [Debug] > │     let v24 : UH5 = method19(v22, v23)                                       │

23:19:36 #12239 [Debug] > │     let v25 : UH6 = UH6_1                                                    │

23:19:36 #12240 [Debug] > │     let v26 : UH6 = UH6_1                                                    │

23:19:36 #12241 [Debug] > │     let struct (v27 : UH6, v28 : UH6) = method15(v24, v25, v26)              │

23:19:36 #12242 [Debug] > │     let v29 : UH6 = UH6_1                                                    │

23:19:36 #12243 [Debug] > │     let v30 : UH6 = method16(v27, v29)                                       │

23:19:36 #12244 [Debug] > │     let v31 : UH6 = UH6_1                                                    │

23:19:36 #12245 [Debug] > │     let v32 : UH6 = method16(v28, v31)                                       │

23:19:36 #12246 [Debug] > │     let v33 : (float []) = method20(v14)                                     │

23:19:36 #12247 [Debug] > │     let v34 : (float []) = method20(v16)                                     │

23:19:36 #12248 [Debug] > │     let v35 : (float []) = method20(v30)                                     │

23:19:36 #12249 [Debug] > │     let v36 : (float []) = method20(v32)                                     │

23:19:36 #12250 [Debug] > │     let v37 : string = "euler-cromer"                                        │

23:19:36 #12251 [Debug] > │     let v38 : string = "runge-kutta 4"                                       │

23:19:36 #12252 [Debug] > │     let v39 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:36 #12253 [Debug] > │ (v37, v33, v34); struct (v38, v35, v36)|]                                    │

23:19:36 #12254 [Debug] > │     let v40 : string = "system kinetic energy versus time"                   │

23:19:36 #12255 [Debug] > │     let v41 : string = "time (s)"                                            │

23:19:36 #12256 [Debug] > │     let v42 : string = "system kinetic energy (j)"                           │

23:19:36 #12257 [Debug] > │     struct (v40, v41, v42, v39)                                              │

23:19:36 #12258 [Debug] > │ method0()                                                                    │

23:19:36 #12259 [Debug] > │                                                                              │

23:19:36 #12260 [Debug] > │                                                                              │

23:19:36 #12261 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:36 #12262 [Debug] >

23:19:36 #12263 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:36 #12264 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:36 #12265 [Debug] > │ ### wave 1                                                                   │

23:19:36 #12266 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:36 #12267 [Debug] >

23:19:36 #12268 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:36 #12269 [Debug] > // // test

23:19:36 #12270 [Debug] >

23:19:36 #12271 [Debug] > inl linear_spring k re (particle_state st1) (particle_state st2) =

23:19:36 #12272 [Debug] >     inl r1 = st1.pos_vec

23:19:36 #12273 [Debug] >     inl r2 = st2.pos_vec

23:19:36 #12274 [Debug] >     inl r21 = r2 ^-^ r1

23:19:36 #12275 [Debug] >     inl r21mag = magnitude r21

23:19:36 #12276 [Debug] >     -k * (r21mag - re) *^ r21 ^/ r21mag

23:19:36 #12277 [Debug] >

23:19:36 #12278 [Debug] > inl fixed_linear_spring k re r1 =

23:19:36 #12279 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:36 #12280 [Debug] >     linear_spring k re (particle_state { default_particle_state' with pos_vec =

23:19:36 #12281 [Debug] > r1 })

23:19:36 #12282 [Debug] >

23:19:36 #12283 [Debug] > inl forces_string () =

23:19:36 #12284 [Debug] >     [[

23:19:36 #12285 [Debug] >         ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ()))

23:19:36 #12286 [Debug] >         ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))

23:19:36 #12287 [Debug] >     ]] /@ (

23:19:36 #12288 [Debug] >         listm'.init_series 0 59 1

23:19:36 #12289 [Debug] >         |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))

23:19:36 #12290 [Debug] >     )

23:19:36 #12291 [Debug] >

23:19:36 #12292 [Debug] > inl string_update dt =

23:19:36 #12293 [Debug] >     update_mps (runge_kutta_4 dt) (forces_string ())

23:19:36 #12294 [Debug] >

23:19:36 #12295 [Debug] > inl string_initial_overtone n =

23:19:36 #12296 [Debug] >     inl ball_mass = 0.0008293 * 0.65 / 64

23:19:36 #12297 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:36 #12298 [Debug] >     listm'.init_series 0.01 0.64 0.01

23:19:36 #12299 [Debug] >     |> listm.map (fun x =>

23:19:36 #12300 [Debug] >         inl y = 0.005 * sin (conv n * pi * x / 0.65)

23:19:36 #12301 [Debug] >         particle_state {

23:19:36 #12302 [Debug] >             default_particle_state' with

23:19:36 #12303 [Debug] >                 mass = ball_mass

23:19:36 #12304 [Debug] >                 pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()

23:19:36 #12305 [Debug] >                 velocity = zero_vec ()

23:19:36 #12306 [Debug] >         }

23:19:36 #12307 [Debug] >     )

23:19:36 #12308 [Debug] >     |> multi_particle_state

23:19:36 #12309 [Debug] >

23:19:36 #12310 [Debug] > inl string_initial_pluck () =

23:19:36 #12311 [Debug] >     inl ball_mass = 0.0008293 * 0.65 / 64

23:19:36 #12312 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:36 #12313 [Debug] >     listm'.init_series 0.01 0.64 0.01

23:19:36 #12314 [Debug] >     |> listm.map (fun x =>

23:19:36 #12315 [Debug] >         inl y =

23:19:36 #12316 [Debug] >             inl n = if x <= 0.51 then 0 else 0.65

23:19:36 #12317 [Debug] >             0.005 / (0.51 - n) * (x - n)

23:19:36 #12318 [Debug] >         particle_state {

23:19:36 #12319 [Debug] >             default_particle_state' with

23:19:36 #12320 [Debug] >                 mass = ball_mass

23:19:36 #12321 [Debug] >                 pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()

23:19:36 #12322 [Debug] >                 velocity = zero_vec ()

23:19:36 #12323 [Debug] >         }

23:19:36 #12324 [Debug] >     )

23:19:36 #12325 [Debug] >     |> multi_particle_state

23:19:36 #12326 [Debug] >

23:19:36 #12327 [Debug] > let main () =

23:19:36 #12328 [Debug] >     inl ~frames = listm'.init_series 0 9 1f64

23:19:36 #12329 [Debug] >     inl initial_state = string_initial_overtone 3i32

23:19:36 #12330 [Debug] >     inl frames =

23:19:36 #12331 [Debug] >         frames

23:19:36 #12332 [Debug] >         |> listm.map (fun n =>

23:19:36 #12333 [Debug] >             inl (multi_particle_state sts) =

23:19:36 #12334 [Debug] >                 seq.iterate' (string_update 0.000025) initial_state |> fun f =>

23:19:36 #12335 [Debug] > f 0f64

23:19:36 #12336 [Debug] >             inl rs =

23:19:36 #12337 [Debug] >                 [[ zero_vec () ]]

23:19:36 #12338 [Debug] >                 /@ (sts |> listm.map (fun (particle_state st) => st.pos_vec))

23:19:36 #12339 [Debug] >                 /@ [[ 0.65 *^ i_hat () ]]

23:19:36 #12340 [Debug] >             inl x, y =

23:19:36 #12341 [Debug] >                 rs

23:19:36 #12342 [Debug] >                 |> listm.map (fun r => r.x, r.y)

23:19:36 #12343 [Debug] >                 |> listm'.unzip

23:19:36 #12344 [Debug] >             inl x : a i32 _ = x |> listm.toArray

23:19:36 #12345 [Debug] >             inl y : a i32 _ = y |> listm.toArray

23:19:36 #12346 [Debug] >             x, y

23:19:36 #12347 [Debug] >         )

23:19:36 #12348 [Debug] >         |> listm.toArray : a i32 _

23:19:36 #12349 [Debug] >

23:19:36 #12350 [Debug] >     inl n = 0i32

23:19:36 #12351 [Debug] >

23:19:36 #12352 [Debug] >     inl x, y = index frames n

23:19:36 #12353 [Debug] >

23:19:36 #12354 [Debug] >     "wave",

23:19:36 #12355 [Debug] >     "position (m)",

23:19:36 #12356 [Debug] >     "displacement (m)",

23:19:36 #12357 [Debug] >     ;[[

23:19:36 #12358 [Debug] >         ($"$\"{!n}\"" : string), x, y

23:19:36 #12359 [Debug] >     ]]

23:19:37 #12360 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3690-9096-91cab76ef8c3\main.spi

23:19:37 #12361 [Debug] >

23:19:37 #12362 [Debug] > ╭─[ 831.59ms - return value ]──────────────────────────────────────────────────╮

23:19:37 #12363 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:37 #12364 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:37 #12365 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:37 #12366 [Debug] > │ stroke="none"/>                                                              │

23:19:37 #12367 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:37 #12368 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12369 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12370 [Debug] > │ wave                                                                         │

23:19:37 #12371 [Debug] > │ </text>                                                                      │

23:19:37 #12372 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │

23:19:37 #12373 [Debug] > │ y2="75"/>                                                                    │

23:19:37 #12374 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:37 #12375 [Debug] > │ y2="75"/>                                                                    │

23:19:37 #12376 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │

23:19:37 #12377 [Debug] > │ y2="75"/>                                                                    │

23:19:37 #12378 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │

23:19:37 #12379 [Debug] > │ y2="75"/>                                                                    │

23:19:37 #12380 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │

23:19:37 #12381 [Debug] > │ y2="75"/>                                                                    │

23:19:37 #12382 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424"        │

23:19:37 #12383 [Debug] > │ x2="100" y2="75"/>                                                           │

23:19:37 #12384 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424"        │

23:19:37 #12385 [Debug] > │ x2="108" y2="75"/>                                                           │

23:19:37 #12386 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424"        │

23:19:37 #12387 [Debug] > │ x2="116" y2="75"/>                                                           │

23:19:37 #12388 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424"        │

23:19:37 #12389 [Debug] > │ x2="123" y2="75"/>                                                           │

23:19:37 #12390 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424"        │

23:19:37 #12391 [Debug] > │ x2="131" y2="75"/>                                                           │

23:19:37 #12392 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:37 #12393 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:37 #12394 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424"        │

23:19:37 #12395 [Debug] > │ x2="146" y2="75"/>                                                           │

23:19:37 #12396 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="154" y1="424"        │

23:19:37 #12397 [Debug] > │ x2="154" y2="75"/>                                                           │

23:19:37 #12398 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="162" y1="424"        │

23:19:37 #12399 [Debug] > │ x2="162" y2="75"/>                                                           │

23:19:37 #12400 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:37 #12401 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:37 #12402 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424"        │

23:19:37 #12403 [Debug] > │ x2="177" y2="75"/>                                                           │

23:19:37 #12404 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="185" y1="424"        │

23:19:37 #12405 [Debug] > │ x2="185" y2="75"/>                                                           │

23:19:37 #12406 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="192" y1="424"        │

23:19:37 #12407 [Debug] > │ x2="192" y2="75"/>                                                           │

23:19:37 #12408 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="200" y1="424"        │

23:19:37 #12409 [Debug] > │ x2="200" y2="75"/>                                                           │

23:19:37 #12410 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="208" y1="424"        │

23:19:37 #12411 [Debug] > │ x2="208" y2="75"/>                                                           │

23:19:37 #12412 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="215" y1="424"        │

23:19:37 #12413 [Debug] > │ x2="215" y2="75"/>                                                           │

23:19:37 #12414 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="223" y1="424"        │

23:19:37 #12415 [Debug] > │ x2="223" y2="75"/>                                                           │

23:19:37 #12416 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="231" y1="424"        │

23:19:37 #12417 [Debug] > │ x2="231" y2="75"/>                                                           │

23:19:37 #12418 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="238" y1="424"        │

23:19:37 #12419 [Debug] > │ x2="238" y2="75"/>                                                           │

23:19:37 #12420 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="246" y1="424"        │

23:19:37 #12421 [Debug] > │ x2="246" y2="75"/>                                                           │

23:19:37 #12422 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="254" y1="424"        │

23:19:37 #12423 [Debug] > │ x2="254" y2="75"/>                                                           │

23:19:37 #12424 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424"        │

23:19:37 #12425 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:37 #12426 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:37 #12427 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:37 #12428 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424"        │

23:19:37 #12429 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:37 #12430 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="284" y1="424"        │

23:19:37 #12431 [Debug] > │ x2="284" y2="75"/>                                                           │

23:19:37 #12432 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="292" y1="424"        │

23:19:37 #12433 [Debug] > │ x2="292" y2="75"/>                                                           │

23:19:37 #12434 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="300" y1="424"        │

23:19:37 #12435 [Debug] > │ x2="300" y2="75"/>                                                           │

23:19:37 #12436 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424"        │

23:19:37 #12437 [Debug] > │ x2="307" y2="75"/>                                                           │

23:19:37 #12438 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="315" y1="424"        │

23:19:37 #12439 [Debug] > │ x2="315" y2="75"/>                                                           │

23:19:37 #12440 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="323" y1="424"        │

23:19:37 #12441 [Debug] > │ x2="323" y2="75"/>                                                           │

23:19:37 #12442 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424"        │

23:19:37 #12443 [Debug] > │ x2="331" y2="75"/>                                                           │

23:19:37 #12444 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="338" y1="424"        │

23:19:37 #12445 [Debug] > │ x2="338" y2="75"/>                                                           │

23:19:37 #12446 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="346" y1="424"        │

23:19:37 #12447 [Debug] > │ x2="346" y2="75"/>                                                           │

23:19:37 #12448 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="354" y1="424"        │

23:19:37 #12449 [Debug] > │ x2="354" y2="75"/>                                                           │

23:19:37 #12450 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424"        │

23:19:37 #12451 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:37 #12452 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:37 #12453 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:37 #12454 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424"        │

23:19:37 #12455 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:37 #12456 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="384" y1="424"        │

23:19:37 #12457 [Debug] > │ x2="384" y2="75"/>                                                           │

23:19:37 #12458 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="392" y1="424"        │

23:19:37 #12459 [Debug] > │ x2="392" y2="75"/>                                                           │

23:19:37 #12460 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="400" y1="424"        │

23:19:37 #12461 [Debug] > │ x2="400" y2="75"/>                                                           │

23:19:37 #12462 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="407" y1="424"        │

23:19:37 #12463 [Debug] > │ x2="407" y2="75"/>                                                           │

23:19:37 #12464 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="415" y1="424"        │

23:19:37 #12465 [Debug] > │ x2="415" y2="75"/>                                                           │

23:19:37 #12466 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="423" y1="424"        │

23:19:37 #12467 [Debug] > │ x2="423" y2="75"/>                                                           │

23:19:37 #12468 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="430" y1="424"        │

23:19:37 #12469 [Debug] > │ x2="430" y2="75"/>                                                           │

23:19:37 #12470 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="438" y1="424"        │

23:19:37 #12471 [Debug] > │ x2="438" y2="75"/>                                                           │

23:19:37 #12472 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="446" y1="424"        │

23:19:37 #12473 [Debug] > │ x2="446" y2="75"/>                                                           │

23:19:37 #12474 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="453" y1="424"        │

23:19:37 #12475 [Debug] > │ x2="453" y2="75"/>                                                           │

23:19:37 #12476 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="461" y1="424"        │

23:19:37 #12477 [Debug] > │ x2="461" y2="75"/>                                                           │

23:19:37 #12478 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:37 #12479 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:37 #12480 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424"        │

23:19:37 #12481 [Debug] > │ x2="476" y2="75"/>                                                           │

23:19:37 #12482 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="484" y1="424"        │

23:19:37 #12483 [Debug] > │ x2="484" y2="75"/>                                                           │

23:19:37 #12484 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="492" y1="424"        │

23:19:37 #12485 [Debug] > │ x2="492" y2="75"/>                                                           │

23:19:37 #12486 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:37 #12487 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:37 #12488 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="507" y1="424"        │

23:19:37 #12489 [Debug] > │ x2="507" y2="75"/>                                                           │

23:19:37 #12490 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="515" y1="424"        │

23:19:37 #12491 [Debug] > │ x2="515" y2="75"/>                                                           │

23:19:37 #12492 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="522" y1="424"        │

23:19:37 #12493 [Debug] > │ x2="522" y2="75"/>                                                           │

23:19:37 #12494 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="530" y1="424"        │

23:19:37 #12495 [Debug] > │ x2="530" y2="75"/>                                                           │

23:19:37 #12496 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="538" y1="424"        │

23:19:37 #12497 [Debug] > │ x2="538" y2="75"/>                                                           │

23:19:37 #12498 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="545" y1="424"        │

23:19:37 #12499 [Debug] > │ x2="545" y2="75"/>                                                           │

23:19:37 #12500 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="553" y1="424"        │

23:19:37 #12501 [Debug] > │ x2="553" y2="75"/>                                                           │

23:19:37 #12502 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="561" y1="424"        │

23:19:37 #12503 [Debug] > │ x2="561" y2="75"/>                                                           │

23:19:37 #12504 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:37 #12505 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:37 #12506 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:37 #12507 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:37 #12508 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="399"         │

23:19:37 #12509 [Debug] > │ x2="584" y2="399"/>                                                          │

23:19:37 #12510 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382"         │

23:19:37 #12511 [Debug] > │ x2="584" y2="382"/>                                                          │

23:19:37 #12512 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="366"         │

23:19:37 #12513 [Debug] > │ x2="584" y2="366"/>                                                          │

23:19:37 #12514 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349"         │

23:19:37 #12515 [Debug] > │ x2="584" y2="349"/>                                                          │

23:19:37 #12516 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="333"         │

23:19:37 #12517 [Debug] > │ x2="584" y2="333"/>                                                          │

23:19:37 #12518 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316"         │

23:19:37 #12519 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:37 #12520 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="300"         │

23:19:37 #12521 [Debug] > │ x2="584" y2="300"/>                                                          │

23:19:37 #12522 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283"         │

23:19:37 #12523 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:37 #12524 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="267"         │

23:19:37 #12525 [Debug] > │ x2="584" y2="267"/>                                                          │

23:19:37 #12526 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250"         │

23:19:37 #12527 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:37 #12528 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234"         │

23:19:37 #12529 [Debug] > │ x2="584" y2="234"/>                                                          │

23:19:37 #12530 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217"         │

23:19:37 #12531 [Debug] > │ x2="584" y2="217"/>                                                          │

23:19:37 #12532 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:37 #12533 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:37 #12534 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184"         │

23:19:37 #12535 [Debug] > │ x2="584" y2="184"/>                                                          │

23:19:37 #12536 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168"         │

23:19:37 #12537 [Debug] > │ x2="584" y2="168"/>                                                          │

23:19:37 #12538 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151"         │

23:19:37 #12539 [Debug] > │ x2="584" y2="151"/>                                                          │

23:19:37 #12540 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135"         │

23:19:37 #12541 [Debug] > │ x2="584" y2="135"/>                                                          │

23:19:37 #12542 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118"         │

23:19:37 #12543 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:37 #12544 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102"         │

23:19:37 #12545 [Debug] > │ x2="584" y2="102"/>                                                          │

23:19:37 #12546 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:37 #12547 [Debug] > │ y2="85"/>                                                                    │

23:19:37 #12548 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:37 #12549 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12550 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12551 [Debug] > │ position (m)                                                                 │

23:19:37 #12552 [Debug] > │ </text>                                                                      │

23:19:37 #12553 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:37 #12554 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12555 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:37 #12556 [Debug] > │ displacement (m)                                                             │

23:19:37 #12557 [Debug] > │ </text>                                                                      │

23:19:37 #12558 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:37 #12559 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12560 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12561 [Debug] > │ position (m)                                                                 │

23:19:37 #12562 [Debug] > │ </text>                                                                      │

23:19:37 #12563 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12564 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12565 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:37 #12566 [Debug] > │ displacement (m)                                                             │

23:19:37 #12567 [Debug] > │ </text>                                                                      │

23:19:37 #12568 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:37 #12569 [Debug] > │ y2="75"/>                                                                    │

23:19:37 #12570 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="108" y1="424"        │

23:19:37 #12571 [Debug] > │ x2="108" y2="75"/>                                                           │

23:19:37 #12572 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="146" y1="424"        │

23:19:37 #12573 [Debug] > │ x2="146" y2="75"/>                                                           │

23:19:37 #12574 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="185" y1="424"        │

23:19:37 #12575 [Debug] > │ x2="185" y2="75"/>                                                           │

23:19:37 #12576 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="223" y1="424"        │

23:19:37 #12577 [Debug] > │ x2="223" y2="75"/>                                                           │

23:19:37 #12578 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="261" y1="424"        │

23:19:37 #12579 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:37 #12580 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="300" y1="424"        │

23:19:37 #12581 [Debug] > │ x2="300" y2="75"/>                                                           │

23:19:37 #12582 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="338" y1="424"        │

23:19:37 #12583 [Debug] > │ x2="338" y2="75"/>                                                           │

23:19:37 #12584 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="377" y1="424"        │

23:19:37 #12585 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:37 #12586 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="415" y1="424"        │

23:19:37 #12587 [Debug] > │ x2="415" y2="75"/>                                                           │

23:19:37 #12588 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="453" y1="424"        │

23:19:37 #12589 [Debug] > │ x2="453" y2="75"/>                                                           │

23:19:37 #12590 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="492" y1="424"        │

23:19:37 #12591 [Debug] > │ x2="492" y2="75"/>                                                           │

23:19:37 #12592 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="530" y1="424"        │

23:19:37 #12593 [Debug] > │ x2="530" y2="75"/>                                                           │

23:19:37 #12594 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:37 #12595 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:37 #12596 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="382"         │

23:19:37 #12597 [Debug] > │ x2="584" y2="382"/>                                                          │

23:19:37 #12598 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="316"         │

23:19:37 #12599 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:37 #12600 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250"         │

23:19:37 #12601 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:37 #12602 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="184"         │

23:19:37 #12603 [Debug] > │ x2="584" y2="184"/>                                                          │

23:19:37 #12604 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="118"         │

23:19:37 #12605 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:37 #12606 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12607 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:37 #12608 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:37 #12609 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12610 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12611 [Debug] > │ 0.0                                                                          │

23:19:37 #12612 [Debug] > │ </text>                                                                      │

23:19:37 #12613 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12614 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:37 #12615 [Debug] > │ <text x="108" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12616 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12617 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12618 [Debug] > │ 0.1                                                                          │

23:19:37 #12619 [Debug] > │ </text>                                                                      │

23:19:37 #12620 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12621 [Debug] > │ points="108,69 108,74 "/>                                                    │

23:19:37 #12622 [Debug] > │ <text x="146" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12623 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12624 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12625 [Debug] > │ 0.1                                                                          │

23:19:37 #12626 [Debug] > │ </text>                                                                      │

23:19:37 #12627 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12628 [Debug] > │ points="146,69 146,74 "/>                                                    │

23:19:37 #12629 [Debug] > │ <text x="185" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12630 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12631 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12632 [Debug] > │ 0.2                                                                          │

23:19:37 #12633 [Debug] > │ </text>                                                                      │

23:19:37 #12634 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12635 [Debug] > │ points="185,69 185,74 "/>                                                    │

23:19:37 #12636 [Debug] > │ <text x="223" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12637 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12638 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12639 [Debug] > │ 0.2                                                                          │

23:19:37 #12640 [Debug] > │ </text>                                                                      │

23:19:37 #12641 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12642 [Debug] > │ points="223,69 223,74 "/>                                                    │

23:19:37 #12643 [Debug] > │ <text x="261" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12644 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12645 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12646 [Debug] > │ 0.2                                                                          │

23:19:37 #12647 [Debug] > │ </text>                                                                      │

23:19:37 #12648 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12649 [Debug] > │ points="261,69 261,74 "/>                                                    │

23:19:37 #12650 [Debug] > │ <text x="300" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12651 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12652 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12653 [Debug] > │ 0.3                                                                          │

23:19:37 #12654 [Debug] > │ </text>                                                                      │

23:19:37 #12655 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12656 [Debug] > │ points="300,69 300,74 "/>                                                    │

23:19:37 #12657 [Debug] > │ <text x="338" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12658 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12659 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12660 [Debug] > │ 0.3                                                                          │

23:19:37 #12661 [Debug] > │ </text>                                                                      │

23:19:37 #12662 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12663 [Debug] > │ points="338,69 338,74 "/>                                                    │

23:19:37 #12664 [Debug] > │ <text x="377" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12665 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12666 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12667 [Debug] > │ 0.4                                                                          │

23:19:37 #12668 [Debug] > │ </text>                                                                      │

23:19:37 #12669 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12670 [Debug] > │ points="377,69 377,74 "/>                                                    │

23:19:37 #12671 [Debug] > │ <text x="415" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12672 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12673 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12674 [Debug] > │ 0.4                                                                          │

23:19:37 #12675 [Debug] > │ </text>                                                                      │

23:19:37 #12676 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12677 [Debug] > │ points="415,69 415,74 "/>                                                    │

23:19:37 #12678 [Debug] > │ <text x="453" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12679 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12680 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12681 [Debug] > │ 0.5                                                                          │

23:19:37 #12682 [Debug] > │ </text>                                                                      │

23:19:37 #12683 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12684 [Debug] > │ points="453,69 453,74 "/>                                                    │

23:19:37 #12685 [Debug] > │ <text x="492" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12686 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12687 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12688 [Debug] > │ 0.5                                                                          │

23:19:37 #12689 [Debug] > │ </text>                                                                      │

23:19:37 #12690 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12691 [Debug] > │ points="492,69 492,74 "/>                                                    │

23:19:37 #12692 [Debug] > │ <text x="530" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12693 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12694 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12695 [Debug] > │ 0.6                                                                          │

23:19:37 #12696 [Debug] > │ </text>                                                                      │

23:19:37 #12697 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12698 [Debug] > │ points="530,69 530,74 "/>                                                    │

23:19:37 #12699 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:37 #12700 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12701 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12702 [Debug] > │ 0.7                                                                          │

23:19:37 #12703 [Debug] > │ </text>                                                                      │

23:19:37 #12704 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12705 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:37 #12706 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12707 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:37 #12708 [Debug] > │ <text x="45" y="382" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:37 #12709 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12710 [Debug] > │ -0.0                                                                         │

23:19:37 #12711 [Debug] > │ </text>                                                                      │

23:19:37 #12712 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12713 [Debug] > │ points="49,382 54,382 "/>                                                    │

23:19:37 #12714 [Debug] > │ <text x="45" y="316" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:37 #12715 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12716 [Debug] > │ -0.0                                                                         │

23:19:37 #12717 [Debug] > │ </text>                                                                      │

23:19:37 #12718 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12719 [Debug] > │ points="49,316 54,316 "/>                                                    │

23:19:37 #12720 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:37 #12721 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12722 [Debug] > │ 0.0                                                                          │

23:19:37 #12723 [Debug] > │ </text>                                                                      │

23:19:37 #12724 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12725 [Debug] > │ points="49,250 54,250 "/>                                                    │

23:19:37 #12726 [Debug] > │ <text x="45" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:37 #12727 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12728 [Debug] > │ 0.0                                                                          │

23:19:37 #12729 [Debug] > │ </text>                                                                      │

23:19:37 #12730 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12731 [Debug] > │ points="49,184 54,184 "/>                                                    │

23:19:37 #12732 [Debug] > │ <text x="45" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:37 #12733 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12734 [Debug] > │ 0.0                                                                          │

23:19:37 #12735 [Debug] > │ </text>                                                                      │

23:19:37 #12736 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12737 [Debug] > │ points="49,118 54,118 "/>                                                    │

23:19:37 #12738 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12739 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:37 #12740 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:37 #12741 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12742 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12743 [Debug] > │ 0.0                                                                          │

23:19:37 #12744 [Debug] > │ </text>                                                                      │

23:19:37 #12745 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12746 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:37 #12747 [Debug] > │ <text x="108" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12748 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12749 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12750 [Debug] > │ 0.1                                                                          │

23:19:37 #12751 [Debug] > │ </text>                                                                      │

23:19:37 #12752 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12753 [Debug] > │ points="108,425 108,430 "/>                                                  │

23:19:37 #12754 [Debug] > │ <text x="146" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12755 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12756 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12757 [Debug] > │ 0.1                                                                          │

23:19:37 #12758 [Debug] > │ </text>                                                                      │

23:19:37 #12759 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12760 [Debug] > │ points="146,425 146,430 "/>                                                  │

23:19:37 #12761 [Debug] > │ <text x="185" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12762 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12763 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12764 [Debug] > │ 0.2                                                                          │

23:19:37 #12765 [Debug] > │ </text>                                                                      │

23:19:37 #12766 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12767 [Debug] > │ points="185,425 185,430 "/>                                                  │

23:19:37 #12768 [Debug] > │ <text x="223" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12769 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12770 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12771 [Debug] > │ 0.2                                                                          │

23:19:37 #12772 [Debug] > │ </text>                                                                      │

23:19:37 #12773 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12774 [Debug] > │ points="223,425 223,430 "/>                                                  │

23:19:37 #12775 [Debug] > │ <text x="261" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12776 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12777 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12778 [Debug] > │ 0.2                                                                          │

23:19:37 #12779 [Debug] > │ </text>                                                                      │

23:19:37 #12780 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12781 [Debug] > │ points="261,425 261,430 "/>                                                  │

23:19:37 #12782 [Debug] > │ <text x="300" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12783 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12784 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12785 [Debug] > │ 0.3                                                                          │

23:19:37 #12786 [Debug] > │ </text>                                                                      │

23:19:37 #12787 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12788 [Debug] > │ points="300,425 300,430 "/>                                                  │

23:19:37 #12789 [Debug] > │ <text x="338" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12790 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12791 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12792 [Debug] > │ 0.3                                                                          │

23:19:37 #12793 [Debug] > │ </text>                                                                      │

23:19:37 #12794 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12795 [Debug] > │ points="338,425 338,430 "/>                                                  │

23:19:37 #12796 [Debug] > │ <text x="377" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12797 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12798 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12799 [Debug] > │ 0.4                                                                          │

23:19:37 #12800 [Debug] > │ </text>                                                                      │

23:19:37 #12801 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12802 [Debug] > │ points="377,425 377,430 "/>                                                  │

23:19:37 #12803 [Debug] > │ <text x="415" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12804 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12805 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12806 [Debug] > │ 0.4                                                                          │

23:19:37 #12807 [Debug] > │ </text>                                                                      │

23:19:37 #12808 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12809 [Debug] > │ points="415,425 415,430 "/>                                                  │

23:19:37 #12810 [Debug] > │ <text x="453" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12811 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12812 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12813 [Debug] > │ 0.5                                                                          │

23:19:37 #12814 [Debug] > │ </text>                                                                      │

23:19:37 #12815 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12816 [Debug] > │ points="453,425 453,430 "/>                                                  │

23:19:37 #12817 [Debug] > │ <text x="492" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12818 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12819 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12820 [Debug] > │ 0.5                                                                          │

23:19:37 #12821 [Debug] > │ </text>                                                                      │

23:19:37 #12822 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12823 [Debug] > │ points="492,425 492,430 "/>                                                  │

23:19:37 #12824 [Debug] > │ <text x="530" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12825 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12826 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12827 [Debug] > │ 0.6                                                                          │

23:19:37 #12828 [Debug] > │ </text>                                                                      │

23:19:37 #12829 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12830 [Debug] > │ points="530,425 530,430 "/>                                                  │

23:19:37 #12831 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:37 #12832 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12833 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12834 [Debug] > │ 0.7                                                                          │

23:19:37 #12835 [Debug] > │ </text>                                                                      │

23:19:37 #12836 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12837 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:37 #12838 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12839 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:37 #12840 [Debug] > │ <text x="595" y="382" dy="0.5ex" text-anchor="start"                         │

23:19:37 #12841 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12842 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12843 [Debug] > │ -0.0                                                                         │

23:19:37 #12844 [Debug] > │ </text>                                                                      │

23:19:37 #12845 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12846 [Debug] > │ points="585,382 590,382 "/>                                                  │

23:19:37 #12847 [Debug] > │ <text x="595" y="316" dy="0.5ex" text-anchor="start"                         │

23:19:37 #12848 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12849 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12850 [Debug] > │ -0.0                                                                         │

23:19:37 #12851 [Debug] > │ </text>                                                                      │

23:19:37 #12852 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12853 [Debug] > │ points="585,316 590,316 "/>                                                  │

23:19:37 #12854 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:37 #12855 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12856 [Debug] > │ 0.0                                                                          │

23:19:37 #12857 [Debug] > │ </text>                                                                      │

23:19:37 #12858 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12859 [Debug] > │ points="585,250 590,250 "/>                                                  │

23:19:37 #12860 [Debug] > │ <text x="617" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:37 #12861 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12862 [Debug] > │ 0.0                                                                          │

23:19:37 #12863 [Debug] > │ </text>                                                                      │

23:19:37 #12864 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12865 [Debug] > │ points="585,184 590,184 "/>                                                  │

23:19:37 #12866 [Debug] > │ <text x="617" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:37 #12867 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:37 #12868 [Debug] > │ 0.0                                                                          │

23:19:37 #12869 [Debug] > │ </text>                                                                      │

23:19:37 #12870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:37 #12871 [Debug] > │ points="585,118 590,118 "/>                                                  │

23:19:37 #12872 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:37 #12873 [Debug] > │ points="69,250 77,226 85,203 93,181 100,160 108,141 116,124 123,110 131,99   │

23:19:37 #12874 [Debug] > │ 139,91 146,87 154,85 162,88 169,93 177,102 185,115 192,129 200,147 208,167   │

23:19:37 #12875 [Debug] > │ 215,188 223,211 231,234 238,258 246,282 254,305 261,327 269,347 277,365      │

23:19:37 #12876 [Debug] > │ 284,381 292,394 300,404 307,411 315,415 323,415 331,411 338,404 346,394      │

23:19:37 #12877 [Debug] > │ 354,381 361,365 369,347 377,327 384,305 392,282 400,258 407,234 415,211      │

23:19:37 #12878 [Debug] > │ 423,188 430,167 438,147 446,129 453,115 461,102 469,93 476,88 484,85 492,87  │

23:19:37 #12879 [Debug] > │ 499,91 507,99 515,110 522,124 530,141 538,160 545,181 553,203 561,226        │

23:19:37 #12880 [Debug] > │ 569,250 "/>                                                                  │

23:19:37 #12881 [Debug] > │ <rect x="525" y="235" width="55" height="30" opacity="1" fill="none"         │

23:19:37 #12882 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:37 #12883 [Debug] > │ <text x="565" y="245" dy="0.76em" text-anchor="start"                        │

23:19:37 #12884 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:37 #12885 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:37 #12886 [Debug] > │ 0                                                                            │

23:19:37 #12887 [Debug] > │ </text>                                                                      │

23:19:37 #12888 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:37 #12889 [Debug] > │ points="535,250 555,250 "/>                                                  │

23:19:37 #12890 [Debug] > │ </svg>                                                                       │

23:19:37 #12891 [Debug] > │                                                                              │

23:19:37 #12892 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:37 #12893 [Debug] >

23:19:38 #12894 [Debug] > ╭─[ 1.09s - stdout ]───────────────────────────────────────────────────────────╮

23:19:38 #12895 [Debug] > │ type UH0 =                                                                   │

23:19:38 #12896 [Debug] > │     | UH0_0 of float * UH0                                                   │

23:19:38 #12897 [Debug] > │     | UH0_1                                                                  │

23:19:38 #12898 [Debug] > │ and UH1 =                                                                    │

23:19:38 #12899 [Debug] > │     | UH1_0 of (float []) * (float []) * UH1                                 │

23:19:38 #12900 [Debug] > │     | UH1_1                                                                  │

23:19:38 #12901 [Debug] > │ let rec method3 (v0 : UH0, v1 : int32) : int32 =                             │

23:19:38 #12902 [Debug] > │     match v0 with                                                            │

23:19:38 #12903 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:38 #12904 [Debug] > │         let v4 : int32 = v1 + 1                                              │

23:19:38 #12905 [Debug] > │         method3(v3, v4)                                                      │

23:19:38 #12906 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:38 #12907 [Debug] > │         v1                                                                   │

23:19:38 #12908 [Debug] > │ and method4 (v0 : (float []), v1 : UH0, v2 : int32) : int32 =                │

23:19:38 #12909 [Debug] > │     match v1 with                                                            │

23:19:38 #12910 [Debug] > │     | UH0_0(v3, v4) -> (* Cons *)                                            │

23:19:38 #12911 [Debug] > │         v0.[int v2] <- v3                                                    │

23:19:38 #12912 [Debug] > │         let v5 : int32 = v2 + 1                                              │

23:19:38 #12913 [Debug] > │         method4(v0, v4, v5)                                                  │

23:19:38 #12914 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:38 #12915 [Debug] > │         v2                                                                   │

23:19:38 #12916 [Debug] > │ and method2 (v0 : UH0) : (float []) =                                        │

23:19:38 #12917 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:38 #12918 [Debug] > │     let v2 : int32 = method3(v0, v1)                                         │

23:19:38 #12919 [Debug] > │     let v3 : (float []) = Array.zeroCreate<float> (v2)                       │

23:19:38 #12920 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:38 #12921 [Debug] > │     let v5 : int32 = method4(v3, v0, v4)                                     │

23:19:38 #12922 [Debug] > │     v3                                                                       │

23:19:38 #12923 [Debug] > │ and method1 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:38 #12924 [Debug] > │     match v0 with                                                            │

23:19:38 #12925 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:38 #12926 [Debug] > │         let v4 : UH1 = method1(v3, v1)                                       │

23:19:38 #12927 [Debug] > │         let v5 : float = 0.0                                                 │

23:19:38 #12928 [Debug] > │         let v6 : float = 0.01                                                │

23:19:38 #12929 [Debug] > │         let v7 : float = 0.02                                                │

23:19:38 #12930 [Debug] > │         let v8 : float = 0.03                                                │

23:19:38 #12931 [Debug] > │         let v9 : float = 0.04                                                │

23:19:38 #12932 [Debug] > │         let v10 : float = 0.05                                               │

23:19:38 #12933 [Debug] > │         let v11 : float = 0.060000000000000005                               │

23:19:38 #12934 [Debug] > │         let v12 : float = 0.06999999999999999                                │

23:19:38 #12935 [Debug] > │         let v13 : float = 0.08                                               │

23:19:38 #12936 [Debug] > │         let v14 : float = 0.09                                               │

23:19:38 #12937 [Debug] > │         let v15 : float = 0.09999999999999999                                │

23:19:38 #12938 [Debug] > │         let v16 : float = 0.11                                               │

23:19:38 #12939 [Debug] > │         let v17 : float = 0.12                                               │

23:19:38 #12940 [Debug] > │         let v18 : float = 0.13                                               │

23:19:38 #12941 [Debug] > │         let v19 : float = 0.14                                               │

23:19:38 #12942 [Debug] > │         let v20 : float = 0.15000000000000002                                │

23:19:38 #12943 [Debug] > │         let v21 : float = 0.16                                               │

23:19:38 #12944 [Debug] > │         let v22 : float = 0.17                                               │

23:19:38 #12945 [Debug] > │         let v23 : float = 0.18000000000000002                                │

23:19:38 #12946 [Debug] > │         let v24 : float = 0.19                                               │

23:19:38 #12947 [Debug] > │         let v25 : float = 0.2                                                │

23:19:38 #12948 [Debug] > │         let v26 : float = 0.21000000000000002                                │

23:19:38 #12949 [Debug] > │         let v27 : float = 0.22                                               │

23:19:38 #12950 [Debug] > │         let v28 : float = 0.23                                               │

23:19:38 #12951 [Debug] > │         let v29 : float = 0.24000000000000002                                │

23:19:38 #12952 [Debug] > │         let v30 : float = 0.25                                               │

23:19:38 #12953 [Debug] > │         let v31 : float = 0.26                                               │

23:19:38 #12954 [Debug] > │         let v32 : float = 0.27                                               │

23:19:38 #12955 [Debug] > │         let v33 : float = 0.28                                               │

23:19:38 #12956 [Debug] > │         let v34 : float = 0.29000000000000004                                │

23:19:38 #12957 [Debug] > │         let v35 : float = 0.3                                                │

23:19:38 #12958 [Debug] > │         let v36 : float = 0.31                                               │

23:19:38 #12959 [Debug] > │         let v37 : float = 0.32                                               │

23:19:38 #12960 [Debug] > │         let v38 : float = 0.33                                               │

23:19:38 #12961 [Debug] > │         let v39 : float = 0.34                                               │

23:19:38 #12962 [Debug] > │         let v40 : float = 0.35000000000000003                                │

23:19:38 #12963 [Debug] > │         let v41 : float = 0.36000000000000004                                │

23:19:38 #12964 [Debug] > │         let v42 : float = 0.37                                               │

23:19:38 #12965 [Debug] > │         let v43 : float = 0.38                                               │

23:19:38 #12966 [Debug] > │         let v44 : float = 0.39                                               │

23:19:38 #12967 [Debug] > │         let v45 : float = 0.4                                                │

23:19:38 #12968 [Debug] > │         let v46 : float = 0.41000000000000003                                │

23:19:38 #12969 [Debug] > │         let v47 : float = 0.42000000000000004                                │

23:19:38 #12970 [Debug] > │         let v48 : float = 0.43                                               │

23:19:38 #12971 [Debug] > │         let v49 : float = 0.44                                               │

23:19:38 #12972 [Debug] > │         let v50 : float = 0.45                                               │

23:19:38 #12973 [Debug] > │         let v51 : float = 0.46                                               │

23:19:38 #12974 [Debug] > │         let v52 : float = 0.47000000000000003                                │

23:19:38 #12975 [Debug] > │         let v53 : float = 0.48000000000000004                                │

23:19:38 #12976 [Debug] > │         let v54 : float = 0.49                                               │

23:19:38 #12977 [Debug] > │         let v55 : float = 0.5                                                │

23:19:38 #12978 [Debug] > │         let v56 : float = 0.51                                               │

23:19:38 #12979 [Debug] > │         let v57 : float = 0.52                                               │

23:19:38 #12980 [Debug] > │         let v58 : float = 0.53                                               │

23:19:38 #12981 [Debug] > │         let v59 : float = 0.54                                               │

23:19:38 #12982 [Debug] > │         let v60 : float = 0.55                                               │

23:19:38 #12983 [Debug] > │         let v61 : float = 0.56                                               │

23:19:38 #12984 [Debug] > │         let v62 : float = 0.5700000000000001                                 │

23:19:38 #12985 [Debug] > │         let v63 : float = 0.5800000000000001                                 │

23:19:38 #12986 [Debug] > │         let v64 : float = 0.59                                               │

23:19:38 #12987 [Debug] > │         let v65 : float = 0.6                                                │

23:19:38 #12988 [Debug] > │         let v66 : float = 0.61                                               │

23:19:38 #12989 [Debug] > │         let v67 : float = 0.62                                               │

23:19:38 #12990 [Debug] > │         let v68 : float = 0.63                                               │

23:19:38 #12991 [Debug] > │         let v69 : float = 0.64                                               │

23:19:38 #12992 [Debug] > │         let v70 : float = 0.65                                               │

23:19:38 #12993 [Debug] > │         let v71 : UH0 = UH0_1                                                │

23:19:38 #12994 [Debug] > │         let v72 : UH0 = UH0_0(v70, v71)                                      │

23:19:38 #12995 [Debug] > │         let v73 : UH0 = UH0_0(v69, v72)                                      │

23:19:38 #12996 [Debug] > │         let v74 : UH0 = UH0_0(v68, v73)                                      │

23:19:38 #12997 [Debug] > │         let v75 : UH0 = UH0_0(v67, v74)                                      │

23:19:38 #12998 [Debug] > │         let v76 : UH0 = UH0_0(v66, v75)                                      │

23:19:38 #12999 [Debug] > │         let v77 : UH0 = UH0_0(v65, v76)                                      │

23:19:38 #13000 [Debug] > │         let v78 : UH0 = UH0_0(v64, v77)                                      │

23:19:38 #13001 [Debug] > │         let v79 : UH0 = UH0_0(v63, v78)                                      │

23:19:38 #13002 [Debug] > │         let v80 : UH0 = UH0_0(v62, v79)                                      │

23:19:38 #13003 [Debug] > │         let v81 : UH0 = UH0_0(v61, v80)                                      │

23:19:38 #13004 [Debug] > │         let v82 : UH0 = UH0_0(v60, v81)                                      │

23:19:38 #13005 [Debug] > │         let v83 : UH0 = UH0_0(v59, v82)                                      │

23:19:38 #13006 [Debug] > │         let v84 : UH0 = UH0_0(v58, v83)                                      │

23:19:38 #13007 [Debug] > │         let v85 : UH0 = UH0_0(v57, v84)                                      │

23:19:38 #13008 [Debug] > │         let v86 : UH0 = UH0_0(v56, v85)                                      │

23:19:38 #13009 [Debug] > │         let v87 : UH0 = UH0_0(v55, v86)                                      │

23:19:38 #13010 [Debug] > │         let v88 : UH0 = UH0_0(v54, v87)                                      │

23:19:38 #13011 [Debug] > │         let v89 : UH0 = UH0_0(v53, v88)                                      │

23:19:38 #13012 [Debug] > │         let v90 : UH0 = UH0_0(v52, v89)                                      │

23:19:38 #13013 [Debug] > │         let v91 : UH0 = UH0_0(v51, v90)                                      │

23:19:38 #13014 [Debug] > │         let v92 : UH0 = UH0_0(v50, v91)                                      │

23:19:38 #13015 [Debug] > │         let v93 : UH0 = UH0_0(v49, v92)                                      │

23:19:38 #13016 [Debug] > │         let v94 : UH0 = UH0_0(v48, v93)                                      │

23:19:38 #13017 [Debug] > │         let v95 : UH0 = UH0_0(v47, v94)                                      │

23:19:38 #13018 [Debug] > │         let v96 : UH0 = UH0_0(v46, v95)                                      │

23:19:38 #13019 [Debug] > │         let v97 : UH0 = UH0_0(v45, v96)                                      │

23:19:38 #13020 [Debug] > │         let v98 : UH0 = UH0_0(v44, v97)                                      │

23:19:38 #13021 [Debug] > │         let v99 : UH0 = UH0_0(v43, v98)                                      │

23:19:38 #13022 [Debug] > │         let v100 : UH0 = UH0_0(v42, v99)                                     │

23:19:38 #13023 [Debug] > │         let v101 : UH0 = UH0_0(v41, v100)                                    │

23:19:38 #13024 [Debug] > │         let v102 : UH0 = UH0_0(v40, v101)                                    │

23:19:38 #13025 [Debug] > │         let v103 : UH0 = UH0_0(v39, v102)                                    │

23:19:38 #13026 [Debug] > │         let v104 : UH0 = UH0_0(v38, v103)                                    │

23:19:38 #13027 [Debug] > │         let v105 : UH0 = UH0_0(v37, v104)                                    │

23:19:38 #13028 [Debug] > │         let v106 : UH0 = UH0_0(v36, v105)                                    │

23:19:38 #13029 [Debug] > │         let v107 : UH0 = UH0_0(v35, v106)                                    │

23:19:38 #13030 [Debug] > │         let v108 : UH0 = UH0_0(v34, v107)                                    │

23:19:38 #13031 [Debug] > │         let v109 : UH0 = UH0_0(v33, v108)                                    │

23:19:38 #13032 [Debug] > │         let v110 : UH0 = UH0_0(v32, v109)                                    │

23:19:38 #13033 [Debug] > │         let v111 : UH0 = UH0_0(v31, v110)                                    │

23:19:38 #13034 [Debug] > │         let v112 : UH0 = UH0_0(v30, v111)                                    │

23:19:38 #13035 [Debug] > │         let v113 : UH0 = UH0_0(v29, v112)                                    │

23:19:38 #13036 [Debug] > │         let v114 : UH0 = UH0_0(v28, v113)                                    │

23:19:38 #13037 [Debug] > │         let v115 : UH0 = UH0_0(v27, v114)                                    │

23:19:38 #13038 [Debug] > │         let v116 : UH0 = UH0_0(v26, v115)                                    │

23:19:38 #13039 [Debug] > │         let v117 : UH0 = UH0_0(v25, v116)                                    │

23:19:38 #13040 [Debug] > │         let v118 : UH0 = UH0_0(v24, v117)                                    │

23:19:38 #13041 [Debug] > │         let v119 : UH0 = UH0_0(v23, v118)                                    │

23:19:38 #13042 [Debug] > │         let v120 : UH0 = UH0_0(v22, v119)                                    │

23:19:38 #13043 [Debug] > │         let v121 : UH0 = UH0_0(v21, v120)                                    │

23:19:38 #13044 [Debug] > │         let v122 : UH0 = UH0_0(v20, v121)                                    │

23:19:38 #13045 [Debug] > │         let v123 : UH0 = UH0_0(v19, v122)                                    │

23:19:38 #13046 [Debug] > │         let v124 : UH0 = UH0_0(v18, v123)                                    │

23:19:38 #13047 [Debug] > │         let v125 : UH0 = UH0_0(v17, v124)                                    │

23:19:38 #13048 [Debug] > │         let v126 : UH0 = UH0_0(v16, v125)                                    │

23:19:38 #13049 [Debug] > │         let v127 : UH0 = UH0_0(v15, v126)                                    │

23:19:38 #13050 [Debug] > │         let v128 : UH0 = UH0_0(v14, v127)                                    │

23:19:38 #13051 [Debug] > │         let v129 : UH0 = UH0_0(v13, v128)                                    │

23:19:38 #13052 [Debug] > │         let v130 : UH0 = UH0_0(v12, v129)                                    │

23:19:38 #13053 [Debug] > │         let v131 : UH0 = UH0_0(v11, v130)                                    │

23:19:38 #13054 [Debug] > │         let v132 : UH0 = UH0_0(v10, v131)                                    │

23:19:38 #13055 [Debug] > │         let v133 : UH0 = UH0_0(v9, v132)                                     │

23:19:38 #13056 [Debug] > │         let v134 : UH0 = UH0_0(v8, v133)                                     │

23:19:38 #13057 [Debug] > │         let v135 : UH0 = UH0_0(v7, v134)                                     │

23:19:38 #13058 [Debug] > │         let v136 : UH0 = UH0_0(v6, v135)                                     │

23:19:38 #13059 [Debug] > │         let v137 : UH0 = UH0_0(v5, v136)                                     │

23:19:38 #13060 [Debug] > │         let v138 : (float []) = method2(v137)                                │

23:19:38 #13061 [Debug] > │         let v139 : float = 0.0                                               │

23:19:38 #13062 [Debug] > │         let v140 : float = 0.0007224452478461068                             │

23:19:38 #13063 [Debug] > │         let v141 : float = 0.0014297283919934465                             │

23:19:38 #13064 [Debug] > │         let v142 : float = 0.0021070055388626454                             │

23:19:38 #13065 [Debug] > │         let v143 : float = 0.00274006253677335                               │

23:19:38 #13066 [Debug] > │         let v144 : float = 0.0033156132912039757                             │

23:19:38 #13067 [Debug] > │         let v145 : float = 0.0038215786027292415                             │

23:19:38 #13068 [Debug] > │         let v146 : float = 0.004247339675607605                              │

23:19:38 #13069 [Debug] > │         let v147 : float = 0.004583960976582912                              │

23:19:38 #13070 [Debug] > │         let v148 : float = 0.004824377766717757                              │

23:19:38 #13071 [Debug] > │         let v149 : float = 0.00496354437049027                               │

23:19:38 #13072 [Debug] > │         let v150 : float = 0.004998540070400965                              │

23:19:38 #13073 [Debug] > │         let v151 : float = 0.004928630404658255                              │

23:19:38 #13074 [Debug] > │         let v152 : float = 0.004755282581475768                              │

23:19:38 #13075 [Debug] > │         let v153 : float = 0.004482134686478519                              │

23:19:38 #13076 [Debug] > │         let v154 : float = 0.0041149193294682815                             │

23:19:38 #13077 [Debug] > │         let v155 : float = 0.0036613433329888666                             │

23:19:38 #13078 [Debug] > │         let v156 : float = 0.0031309259876915697                             │

23:19:38 #13079 [Debug] > │         let v157 : float = 0.002534799269067951                              │

23:19:38 #13080 [Debug] > │         let v158 : float = 0.0018854742084416015                             │

23:19:38 #13081 [Debug] > │         let v159 : float = 0.0011965783214377905                             │

23:19:38 #13082 [Debug] > │         let v160 : float = 0.00048256960457257535                            │

23:19:38 #13083 [Debug] > │         let v161 : float = -0.00024156689762753317                           │

23:19:38 #13084 [Debug] > │         let v162 : float = -0.0009606335867685418                            │

23:19:38 #13085 [Debug] > │         let v163 : float = -0.001659539265642642                             │

23:19:38 #13086 [Debug] > │         let v164 : float = -0.002323615860218842                             │

23:19:38 #13087 [Debug] > │         let v165 : float = -0.0029389262614623636                            │

23:19:38 #13088 [Debug] > │         let v166 : float = -0.003492556826244686                             │

23:19:38 #13089 [Debug] > │         let v167 : float = -0.003972888398568771                             │

23:19:38 #13090 [Debug] > │         let v168 : float = -0.00436984016313259                              │

23:19:38 #13091 [Debug] > │         let v169 : float = -0.004675081213427074                             │

23:19:38 #13092 [Debug] > │         let v170 : float = -0.004882205394146359                             │

23:19:38 #13093 [Debug] > │         let v171 : float = -0.004986865748457456                             │

23:19:38 #13094 [Debug] > │         let v172 : float = -0.004986865748457456                             │

23:19:38 #13095 [Debug] > │         let v173 : float = -0.004882205394146361                             │

23:19:38 #13096 [Debug] > │         let v174 : float = -0.004675081213427074                             │

23:19:38 #13097 [Debug] > │         let v175 : float = -0.004369840163132589                             │

23:19:38 #13098 [Debug] > │         let v176 : float = -0.003972888398568774                             │

23:19:38 #13099 [Debug] > │         let v177 : float = -0.0034925568262446837                            │

23:19:38 #13100 [Debug] > │         let v178 : float = -0.002938926261462367                             │

23:19:38 #13101 [Debug] > │         let v179 : float = -0.002323615860218846                             │

23:19:38 #13102 [Debug] > │         let v180 : float = -0.0016595392656426435                            │

23:19:38 #13103 [Debug] > │         let v181 : float = -0.0009606335867685414                            │

23:19:38 #13104 [Debug] > │         let v182 : float = -0.00024156689762753724                           │

23:19:38 #13105 [Debug] > │         let v183 : float = 0.0004825696045725713                             │

23:19:38 #13106 [Debug] > │         let v184 : float = 0.0011965783214377866                             │

23:19:38 #13107 [Debug] > │         let v185 : float = 0.0018854742084416021                             │

23:19:38 #13108 [Debug] > │         let v186 : float = 0.002534799269067953                              │

23:19:38 #13109 [Debug] > │         let v187 : float = 0.003130925987691568                              │

23:19:38 #13110 [Debug] > │         let v188 : float = 0.0036613433329888622                             │

23:19:38 #13111 [Debug] > │         let v189 : float = 0.0041149193294682815                             │

23:19:38 #13112 [Debug] > │         let v190 : float = 0.0044821346864785195                             │

23:19:38 #13113 [Debug] > │         let v191 : float = 0.004755282581475766                              │

23:19:38 #13114 [Debug] > │         let v192 : float = 0.004928630404658255                              │

23:19:38 #13115 [Debug] > │         let v193 : float = 0.004998540070400965                              │

23:19:38 #13116 [Debug] > │         let v194 : float = 0.004963544370490271                              │

23:19:38 #13117 [Debug] > │         let v195 : float = 0.004824377766717758                              │

23:19:38 #13118 [Debug] > │         let v196 : float = 0.004583960976582912                              │

23:19:38 #13119 [Debug] > │         let v197 : float = 0.004247339675607605                              │

23:19:38 #13120 [Debug] > │         let v198 : float = 0.003821578602729245                              │

23:19:38 #13121 [Debug] > │         let v199 : float = 0.0033156132912039783                             │

23:19:38 #13122 [Debug] > │         let v200 : float = 0.0027400625367733585                             │

23:19:38 #13123 [Debug] > │         let v201 : float = 0.0021070055388626528                             │

23:19:38 #13124 [Debug] > │         let v202 : float = 0.001429728391993452                              │

23:19:38 #13125 [Debug] > │         let v203 : float = 0.0007224452478461016                             │

23:19:38 #13126 [Debug] > │         let v204 : float = 0.0                                               │

23:19:38 #13127 [Debug] > │         let v205 : UH0 = UH0_1                                               │

23:19:38 #13128 [Debug] > │         let v206 : UH0 = UH0_0(v204, v205)                                   │

23:19:38 #13129 [Debug] > │         let v207 : UH0 = UH0_0(v203, v206)                                   │

23:19:38 #13130 [Debug] > │         let v208 : UH0 = UH0_0(v202, v207)                                   │

23:19:38 #13131 [Debug] > │         let v209 : UH0 = UH0_0(v201, v208)                                   │

23:19:38 #13132 [Debug] > │         let v210 : UH0 = UH0_0(v200, v209)                                   │

23:19:38 #13133 [Debug] > │         let v211 : UH0 = UH0_0(v199, v210)                                   │

23:19:38 #13134 [Debug] > │         let v212 : UH0 = UH0_0(v198, v211)                                   │

23:19:38 #13135 [Debug] > │         let v213 : UH0 = UH0_0(v197, v212)                                   │

23:19:38 #13136 [Debug] > │         let v214 : UH0 = UH0_0(v196, v213)                                   │

23:19:38 #13137 [Debug] > │         let v215 : UH0 = UH0_0(v195, v214)                                   │

23:19:38 #13138 [Debug] > │         let v216 : UH0 = UH0_0(v194, v215)                                   │

23:19:38 #13139 [Debug] > │         let v217 : UH0 = UH0_0(v193, v216)                                   │

23:19:38 #13140 [Debug] > │         let v218 : UH0 = UH0_0(v192, v217)                                   │

23:19:38 #13141 [Debug] > │         let v219 : UH0 = UH0_0(v191, v218)                                   │

23:19:38 #13142 [Debug] > │         let v220 : UH0 = UH0_0(v190, v219)                                   │

23:19:38 #13143 [Debug] > │         let v221 : UH0 = UH0_0(v189, v220)                                   │

23:19:38 #13144 [Debug] > │         let v222 : UH0 = UH0_0(v188, v221)                                   │

23:19:38 #13145 [Debug] > │         let v223 : UH0 = UH0_0(v187, v222)                                   │

23:19:38 #13146 [Debug] > │         let v224 : UH0 = UH0_0(v186, v223)                                   │

23:19:38 #13147 [Debug] > │         let v225 : UH0 = UH0_0(v185, v224)                                   │

23:19:38 #13148 [Debug] > │         let v226 : UH0 = UH0_0(v184, v225)                                   │

23:19:38 #13149 [Debug] > │         let v227 : UH0 = UH0_0(v183, v226)                                   │

23:19:38 #13150 [Debug] > │         let v228 : UH0 = UH0_0(v182, v227)                                   │

23:19:38 #13151 [Debug] > │         let v229 : UH0 = UH0_0(v181, v228)                                   │

23:19:38 #13152 [Debug] > │         let v230 : UH0 = UH0_0(v180, v229)                                   │

23:19:38 #13153 [Debug] > │         let v231 : UH0 = UH0_0(v179, v230)                                   │

23:19:38 #13154 [Debug] > │         let v232 : UH0 = UH0_0(v178, v231)                                   │

23:19:38 #13155 [Debug] > │         let v233 : UH0 = UH0_0(v177, v232)                                   │

23:19:38 #13156 [Debug] > │         let v234 : UH0 = UH0_0(v176, v233)                                   │

23:19:38 #13157 [Debug] > │         let v235 : UH0 = UH0_0(v175, v234)                                   │

23:19:38 #13158 [Debug] > │         let v236 : UH0 = UH0_0(v174, v235)                                   │

23:19:38 #13159 [Debug] > │         let v237 : UH0 = UH0_0(v173, v236)                                   │

23:19:38 #13160 [Debug] > │         let v238 : UH0 = UH0_0(v172, v237)                                   │

23:19:38 #13161 [Debug] > │         let v239 : UH0 = UH0_0(v171, v238)                                   │

23:19:38 #13162 [Debug] > │         let v240 : UH0 = UH0_0(v170, v239)                                   │

23:19:38 #13163 [Debug] > │         let v241 : UH0 = UH0_0(v169, v240)                                   │

23:19:38 #13164 [Debug] > │         let v242 : UH0 = UH0_0(v168, v241)                                   │

23:19:38 #13165 [Debug] > │         let v243 : UH0 = UH0_0(v167, v242)                                   │

23:19:38 #13166 [Debug] > │         let v244 : UH0 = UH0_0(v166, v243)                                   │

23:19:38 #13167 [Debug] > │         let v245 : UH0 = UH0_0(v165, v244)                                   │

23:19:38 #13168 [Debug] > │         let v246 : UH0 = UH0_0(v164, v245)                                   │

23:19:38 #13169 [Debug] > │         let v247 : UH0 = UH0_0(v163, v246)                                   │

23:19:38 #13170 [Debug] > │         let v248 : UH0 = UH0_0(v162, v247)                                   │

23:19:38 #13171 [Debug] > │         let v249 : UH0 = UH0_0(v161, v248)                                   │

23:19:38 #13172 [Debug] > │         let v250 : UH0 = UH0_0(v160, v249)                                   │

23:19:38 #13173 [Debug] > │         let v251 : UH0 = UH0_0(v159, v250)                                   │

23:19:38 #13174 [Debug] > │         let v252 : UH0 = UH0_0(v158, v251)                                   │

23:19:38 #13175 [Debug] > │         let v253 : UH0 = UH0_0(v157, v252)                                   │

23:19:38 #13176 [Debug] > │         let v254 : UH0 = UH0_0(v156, v253)                                   │

23:19:38 #13177 [Debug] > │         let v255 : UH0 = UH0_0(v155, v254)                                   │

23:19:38 #13178 [Debug] > │         let v256 : UH0 = UH0_0(v154, v255)                                   │

23:19:38 #13179 [Debug] > │         let v257 : UH0 = UH0_0(v153, v256)                                   │

23:19:38 #13180 [Debug] > │         let v258 : UH0 = UH0_0(v152, v257)                                   │

23:19:38 #13181 [Debug] > │         let v259 : UH0 = UH0_0(v151, v258)                                   │

23:19:38 #13182 [Debug] > │         let v260 : UH0 = UH0_0(v150, v259)                                   │

23:19:38 #13183 [Debug] > │         let v261 : UH0 = UH0_0(v149, v260)                                   │

23:19:38 #13184 [Debug] > │         let v262 : UH0 = UH0_0(v148, v261)                                   │

23:19:38 #13185 [Debug] > │         let v263 : UH0 = UH0_0(v147, v262)                                   │

23:19:38 #13186 [Debug] > │         let v264 : UH0 = UH0_0(v146, v263)                                   │

23:19:38 #13187 [Debug] > │         let v265 : UH0 = UH0_0(v145, v264)                                   │

23:19:38 #13188 [Debug] > │         let v266 : UH0 = UH0_0(v144, v265)                                   │

23:19:38 #13189 [Debug] > │         let v267 : UH0 = UH0_0(v143, v266)                                   │

23:19:38 #13190 [Debug] > │         let v268 : UH0 = UH0_0(v142, v267)                                   │

23:19:38 #13191 [Debug] > │         let v269 : UH0 = UH0_0(v141, v268)                                   │

23:19:38 #13192 [Debug] > │         let v270 : UH0 = UH0_0(v140, v269)                                   │

23:19:38 #13193 [Debug] > │         let v271 : UH0 = UH0_0(v139, v270)                                   │

23:19:38 #13194 [Debug] > │         let v272 : (float []) = method2(v271)                                │

23:19:38 #13195 [Debug] > │         UH1_0(v138, v272, v4)                                                │

23:19:38 #13196 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:38 #13197 [Debug] > │         v1                                                                   │

23:19:38 #13198 [Debug] > │ and method6 (v0 : UH1, v1 : int32) : int32 =                                 │

23:19:38 #13199 [Debug] > │     match v0 with                                                            │

23:19:38 #13200 [Debug] > │     | UH1_0(v2, v3, v4) -> (* Cons *)                                        │

23:19:38 #13201 [Debug] > │         let v5 : int32 = v1 + 1                                              │

23:19:38 #13202 [Debug] > │         method6(v4, v5)                                                      │

23:19:38 #13203 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:38 #13204 [Debug] > │         v1                                                                   │

23:19:38 #13205 [Debug] > │ and method7 (v0 : (struct ((float []) * (float [])) []), v1 : UH1, v2 :      │

23:19:38 #13206 [Debug] > │ int32) : int32 =                                                             │

23:19:38 #13207 [Debug] > │     match v1 with                                                            │

23:19:38 #13208 [Debug] > │     | UH1_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:38 #13209 [Debug] > │         v0.[int v2] <- struct (v3, v4)                                       │

23:19:38 #13210 [Debug] > │         let v6 : int32 = v2 + 1                                              │

23:19:38 #13211 [Debug] > │         method7(v0, v5, v6)                                                  │

23:19:38 #13212 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:38 #13213 [Debug] > │         v2                                                                   │

23:19:38 #13214 [Debug] > │ and method5 (v0 : UH1) : (struct ((float []) * (float [])) []) =             │

23:19:38 #13215 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:38 #13216 [Debug] > │     let v2 : int32 = method6(v0, v1)                                         │

23:19:38 #13217 [Debug] > │     let v3 : (struct ((float []) * (float [])) []) = Array.zeroCreate<struct │

23:19:38 #13218 [Debug] > │ ((float []) * (float []))> (v2)                                              │

23:19:38 #13219 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:38 #13220 [Debug] > │     let v5 : int32 = method7(v3, v0, v4)                                     │

23:19:38 #13221 [Debug] > │     v3                                                                       │

23:19:38 #13222 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:38 #13223 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:38 #13224 [Debug] > │     let v0 : float = 0.0                                                     │

23:19:38 #13225 [Debug] > │     let v1 : float = 1.0                                                     │

23:19:38 #13226 [Debug] > │     let v2 : float = 2.0                                                     │

23:19:38 #13227 [Debug] > │     let v3 : float = 3.0                                                     │

23:19:38 #13228 [Debug] > │     let v4 : float = 4.0                                                     │

23:19:38 #13229 [Debug] > │     let v5 : float = 5.0                                                     │

23:19:38 #13230 [Debug] > │     let v6 : float = 6.0                                                     │

23:19:38 #13231 [Debug] > │     let v7 : float = 7.0                                                     │

23:19:38 #13232 [Debug] > │     let v8 : float = 8.0                                                     │

23:19:38 #13233 [Debug] > │     let v9 : float = 9.0                                                     │

23:19:38 #13234 [Debug] > │     let v10 : UH0 = UH0_1                                                    │

23:19:38 #13235 [Debug] > │     let v11 : UH0 = UH0_0(v9, v10)                                           │

23:19:38 #13236 [Debug] > │     let v12 : UH0 = UH0_0(v8, v11)                                           │

23:19:38 #13237 [Debug] > │     let v13 : UH0 = UH0_0(v7, v12)                                           │

23:19:38 #13238 [Debug] > │     let v14 : UH0 = UH0_0(v6, v13)                                           │

23:19:38 #13239 [Debug] > │     let v15 : UH0 = UH0_0(v5, v14)                                           │

23:19:38 #13240 [Debug] > │     let v16 : UH0 = UH0_0(v4, v15)                                           │

23:19:38 #13241 [Debug] > │     let v17 : UH0 = UH0_0(v3, v16)                                           │

23:19:38 #13242 [Debug] > │     let v18 : UH0 = UH0_0(v2, v17)                                           │

23:19:38 #13243 [Debug] > │     let v19 : UH0 = UH0_0(v1, v18)                                           │

23:19:38 #13244 [Debug] > │     let v20 : UH0 = UH0_0(v0, v19)                                           │

23:19:38 #13245 [Debug] > │     let v21 : UH1 = UH1_1                                                    │

23:19:38 #13246 [Debug] > │     let v22 : UH1 = method1(v20, v21)                                        │

23:19:38 #13247 [Debug] > │     let v23 : (struct ((float []) * (float [])) []) = method5(v22)           │

23:19:38 #13248 [Debug] > │     let struct (v24 : (float []), v25 : (float [])) = v23.[int 0]            │

23:19:38 #13249 [Debug] > │     let v26 : string = $"{0}"                                                │

23:19:38 #13250 [Debug] > │     let v27 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:38 #13251 [Debug] > │ (v26, v24, v25)|]                                                            │

23:19:38 #13252 [Debug] > │     let v28 : string = "wave"                                                │

23:19:38 #13253 [Debug] > │     let v29 : string = "position (m)"                                        │

23:19:38 #13254 [Debug] > │     let v30 : string = "displacement (m)"                                    │

23:19:38 #13255 [Debug] > │     struct (v28, v29, v30, v27)                                              │

23:19:38 #13256 [Debug] > │ method0()                                                                    │

23:19:38 #13257 [Debug] > │                                                                              │

23:19:38 #13258 [Debug] > │                                                                              │

23:19:38 #13259 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:38 #13260 [Debug] >

23:19:38 #13261 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:38 #13262 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:38 #13263 [Debug] > │ ### system kinetic energy versus time 2                                      │

23:19:38 #13264 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:38 #13265 [Debug] >

23:19:38 #13266 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:38 #13267 [Debug] > // // test

23:19:38 #13268 [Debug] >

23:19:38 #13269 [Debug] > inl central_force f (particle_state st1) (particle_state st2) =

23:19:38 #13270 [Debug] >     inl r1 = st1.pos_vec

23:19:38 #13271 [Debug] >     inl r2 = st2.pos_vec

23:19:38 #13272 [Debug] >     inl r21 = r2 ^-^ r1

23:19:38 #13273 [Debug] >     inl r21mag = magnitude r21

23:19:38 #13274 [Debug] >     f r21mag *^ r21 ^/ r21mag

23:19:38 #13275 [Debug] >

23:19:38 #13276 [Debug] > inl billiard_force k re =

23:19:38 #13277 [Debug] >     inl f r =

23:19:38 #13278 [Debug] >         if r >= re

23:19:38 #13279 [Debug] >         then 0

23:19:38 #13280 [Debug] >         else -k * (r - re)

23:19:38 #13281 [Debug] >     central_force f

23:19:38 #13282 [Debug] >

23:19:38 #13283 [Debug] > type force_vector = vec

23:19:38 #13284 [Debug] > type two_body_force = particle_state -> particle_state -> force_vector

23:19:38 #13285 [Debug] >

23:19:38 #13286 [Debug] > union force t =

23:19:38 #13287 [Debug] >     | ExternalForce : t * one_body_force

23:19:38 #13288 [Debug] >     | InternalForce : t * t * two_body_force

23:19:38 #13289 [Debug] >

23:19:38 #13290 [Debug] > nominal multi_particle_state dim = seq.seq dim particle_state

23:19:38 #13291 [Debug] >

23:19:38 #13292 [Debug] > nominal d_multi_particle_state dim = seq.seq dim d_particle_state

23:19:38 #13293 [Debug] >

23:19:38 #13294 [Debug] > inl force_on n s force =

23:19:38 #13295 [Debug] >     match force with

23:19:38 #13296 [Debug] >     | ExternalForce (n0, f_one_body) =>

23:19:38 #13297 [Debug] >         if n = n0

23:19:38 #13298 [Debug] >         then f_one_body

23:19:38 #13299 [Debug] >         else fun _ => zero_vec ()

23:19:38 #13300 [Debug] >         |> Some

23:19:38 #13301 [Debug] >     | InternalForce (n0, n1, f_two_body) =>

23:19:38 #13302 [Debug] >         if n = n0

23:19:38 #13303 [Debug] >         then n1 |> s |> optionm.map f_two_body

23:19:38 #13304 [Debug] >         elif n = n1

23:19:38 #13305 [Debug] >         then n0 |> s |> optionm.map f_two_body

23:19:38 #13306 [Debug] >         else Some (fun _ => zero_vec ())

23:19:38 #13307 [Debug] >

23:19:38 #13308 [Debug] > inl forces_on n (multi_particle_state sts) fs =

23:19:38 #13309 [Debug] >     fs

23:19:38 #13310 [Debug] >     |> listm.map (force_on n sts)

23:19:38 #13311 [Debug] >     |> listm'.choose id

23:19:38 #13312 [Debug] >

23:19:38 #13313 [Debug] > inl newton_second_mps fs ((multi_particle_state sts) as mpst) =

23:19:38 #13314 [Debug] >     fun n =>

23:19:38 #13315 [Debug] >         sts n

23:19:38 #13316 [Debug] >         |> optionm.map ((newton_second_ps (forces_on n (multi_particle_state

23:19:38 #13317 [Debug] > sts) fs)))

23:19:38 #13318 [Debug] >     |> d_multi_particle_state

23:19:38 #13319 [Debug] >

23:19:38 #13320 [Debug] > instance (+++) d_multi_particle_state dim {number} =

23:19:38 #13321 [Debug] >     fun (d_multi_particle_state dsts1) (d_multi_particle_state dsts2) =>

23:19:38 #13322 [Debug] >         (dsts1, dsts2)

23:19:38 #13323 [Debug] >         ||> seq.zip_with (optionm'.choose (+++))

23:19:38 #13324 [Debug] >         |> d_multi_particle_state

23:19:38 #13325 [Debug] >

23:19:38 #13326 [Debug] > instance scale d_multi_particle_state dim {number} = fun w

23:19:38 #13327 [Debug] > (d_multi_particle_state dsts) =>

23:19:38 #13328 [Debug] >     dsts >> (optionm'.choose scale (Some w))

23:19:38 #13329 [Debug] >     |> d_multi_particle_state

23:19:38 #13330 [Debug] >

23:19:38 #13331 [Debug] > instance shift multi_particle_state dim {number} = fun dt dsts

23:19:38 #13332 [Debug] > (multi_particle_state sts) =>

23:19:38 #13333 [Debug] >     inl (d_multi_particle_state dsts) =

23:19:38 #13334 [Debug] >         real

23:19:38 #13335 [Debug] >             match dsts with

23:19:38 #13336 [Debug] >             | d_multi_particle_state _ => dsts

23:19:38 #13337 [Debug] >     (dsts, sts)

23:19:38 #13338 [Debug] >     ||> seq.zip_with (optionm'.choose (shift dt))

23:19:38 #13339 [Debug] >     |> seq.memoize_

23:19:38 #13340 [Debug] >     |> multi_particle_state

23:19:38 #13341 [Debug] >

23:19:38 #13342 [Debug] > inl euler_cromer_mps forall dim {number}. dt : numerical_method

23:19:38 #13343 [Debug] > (multi_particle_state dim) (d_multi_particle_state dim) =

23:19:38 #13344 [Debug] >     fun deriv ((multi_particle_state sts0) as mpst0) =>

23:19:38 #13345 [Debug] >         inl (multi_particle_state sts1) = euler dt deriv mpst0

23:19:38 #13346 [Debug] >         fun n =>

23:19:38 #13347 [Debug] >             (sts0, sts1)

23:19:38 #13348 [Debug] >             ||> seq.zip n

23:19:38 #13349 [Debug] >             |> function

23:19:38 #13350 [Debug] >                 | Some (particle_state st0), Some (particle_state st1) =>

23:19:38 #13351 [Debug] >                     particle_state {

23:19:38 #13352 [Debug] >                         st1 with

23:19:38 #13353 [Debug] >                             pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt

23:19:38 #13354 [Debug] >                     }

23:19:38 #13355 [Debug] >                     |> Some

23:19:38 #13356 [Debug] >                 | _ => None

23:19:38 #13357 [Debug] >         |> multi_particle_state

23:19:38 #13358 [Debug] >

23:19:38 #13359 [Debug] > inl update_mps (method : numerical_method (multi_particle_state _)

23:19:38 #13360 [Debug] > (d_multi_particle_state _)) =

23:19:38 #13361 [Debug] >     newton_second_mps >> method

23:19:38 #13362 [Debug] >

23:19:38 #13363 [Debug] > inl states_mps (method : numerical_method (multi_particle_state _)

23:19:38 #13364 [Debug] > (d_multi_particle_state _)) =

23:19:38 #13365 [Debug] >     newton_second_mps

23:19:38 #13366 [Debug] >     >> method

23:19:38 #13367 [Debug] >     >> (fun x (multi_particle_state y) =>

23:19:38 #13368 [Debug] >         y |> seq.memoize_ |> multi_particle_state |> x

23:19:38 #13369 [Debug] >     )

23:19:38 #13370 [Debug] >     >> seq.iterate_

23:19:38 #13371 [Debug] >

23:19:38 #13372 [Debug] > inl kinetic_energy (particle_state st) =

23:19:38 #13373 [Debug] >     inl m = st.mass

23:19:38 #13374 [Debug] >     inl v = magnitude st.velocity

23:19:38 #13375 [Debug] >     0.5 * m * v ** 2

23:19:38 #13376 [Debug] >

23:19:38 #13377 [Debug] > inl system_ke (multi_particle_state sts) =

23:19:38 #13378 [Debug] >     sts >> optionm.map kinetic_energy

23:19:38 #13379 [Debug] >     |> seq.sum_

23:19:38 #13380 [Debug] >

23:19:38 #13381 [Debug] > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =

23:19:38 #13382 [Debug] >     inl r1 = st1.pos_vec

23:19:38 #13383 [Debug] >     inl r2 = st2.pos_vec

23:19:38 #13384 [Debug] >     inl r21 = r2 ^-^ r1

23:19:38 #13385 [Debug] >     inl r21mag = magnitude r21

23:19:38 #13386 [Debug] >     k * (r21mag - re) ** 2 / 2

23:19:38 #13387 [Debug] >

23:19:38 #13388 [Debug] > inl earth_surface_gravity_pe (particle_state st) =

23:19:38 #13389 [Debug] >     inl g = 9.80665

23:19:38 #13390 [Debug] >     inl m = st.mass

23:19:38 #13391 [Debug] >     inl z = st.pos_vec.z

23:19:38 #13392 [Debug] >     m * g * z

23:19:38 #13393 [Debug] >

23:19:38 #13394 [Debug] > inl two_springs_pe (multi_particle_state sts) =

23:19:38 #13395 [Debug] >     match sts 0, sts 1 with

23:19:38 #13396 [Debug] >     | Some st0, Some st1 =>

23:19:38 #13397 [Debug] >         linear_spring_pe 100 0.5 (default_particle_state ()) st0

23:19:38 #13398 [Debug] >         + linear_spring_pe 100 0.5 st0 st1

23:19:38 #13399 [Debug] >         + earth_surface_gravity_pe st0

23:19:38 #13400 [Debug] >         + earth_surface_gravity_pe st1

23:19:38 #13401 [Debug] >         |> Some

23:19:38 #13402 [Debug] >     | _ => None

23:19:38 #13403 [Debug] >

23:19:38 #13404 [Debug] > inl two_springs_me mpst =

23:19:38 #13405 [Debug] >     system_ke mpst + (two_springs_pe mpst |> optionm'.default_value 0)

23:19:38 #13406 [Debug] >

23:19:38 #13407 [Debug] > inl ball_radius () = 0.03

23:19:38 #13408 [Debug] >

23:19:38 #13409 [Debug] > inl billiard_forces k =

23:19:38 #13410 [Debug] >     [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]]

23:19:38 #13411 [Debug] >

23:19:38 #13412 [Debug] > inl billiard_update n_method k dt =

23:19:38 #13413 [Debug] >     update_mps (n_method dt) (billiard_forces k)

23:19:38 #13414 [Debug] >

23:19:38 #13415 [Debug] > inl billiard_initial () =

23:19:38 #13416 [Debug] >     inl ball_mass = 0.160

23:19:38 #13417 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:38 #13418 [Debug] >     [[

23:19:38 #13419 [Debug] >         particle_state {

23:19:38 #13420 [Debug] >             default_particle_state' with

23:19:38 #13421 [Debug] >                 mass = ball_mass

23:19:38 #13422 [Debug] >                 pos_vec = zero_vec ()

23:19:38 #13423 [Debug] >                 velocity = 0.2 *^ i_hat ()

23:19:38 #13424 [Debug] >         }

23:19:38 #13425 [Debug] >         particle_state {

23:19:38 #13426 [Debug] >             default_particle_state' with

23:19:38 #13427 [Debug] >                 mass = ball_mass

23:19:38 #13428 [Debug] >                 pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()

23:19:38 #13429 [Debug] >                 velocity = zero_vec ()

23:19:38 #13430 [Debug] >         }

23:19:38 #13431 [Debug] >     ]]

23:19:38 #13432 [Debug] >     |> seq.from_list

23:19:38 #13433 [Debug] >     |> multi_particle_state

23:19:38 #13434 [Debug] >

23:19:38 #13435 [Debug] > inl billiard_states ~n_method k dt =

23:19:38 #13436 [Debug] >     states_mps (n_method dt) (billiard_forces k) (billiard_initial ())

23:19:38 #13437 [Debug] >

23:19:38 #13438 [Debug] > inl billiard_states_finite n_method k dt =

23:19:38 #13439 [Debug] >     billiard_states n_method k dt

23:19:38 #13440 [Debug] >     >> Some

23:19:38 #13441 [Debug] >     |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>

23:19:38 #13442 [Debug] >         match mpst 0 with

23:19:38 #13443 [Debug] >         | Some st =>

23:19:38 #13444 [Debug] >             st.time <= 10

23:19:38 #13445 [Debug] >         | None => false

23:19:38 #13446 [Debug] >     )

23:19:38 #13447 [Debug] >

23:19:38 #13448 [Debug] > inl momentum (particle_state st) =

23:19:38 #13449 [Debug] >     inl m = st.mass

23:19:38 #13450 [Debug] >     inl v = st.velocity

23:19:38 #13451 [Debug] >     m *^ v

23:19:38 #13452 [Debug] >

23:19:38 #13453 [Debug] > inl system_p (multi_particle_state sts) =

23:19:38 #13454 [Debug] >     sts >> optionm.map momentum

23:19:38 #13455 [Debug] >     |> seq.fold (^+^) (zero_vec ())

23:19:38 #13456 [Debug] >

23:19:38 #13457 [Debug] > inl time_ke_ec_x, time_ke_ec_y =

23:19:38 #13458 [Debug] >     billiard_states_finite euler_cromer_mps 30 0.03

23:19:38 #13459 [Debug] >     |> listm.map (fun (multi_particle_state mpst) =>

23:19:38 #13460 [Debug] >         mpst 0i32

23:19:38 #13461 [Debug] >         |> optionm.map (fun st =>

23:19:38 #13462 [Debug] >             st.time, system_ke (multi_particle_state mpst)

23:19:38 #13463 [Debug] >         )

23:19:38 #13464 [Debug] >     )

23:19:38 #13465 [Debug] >     |> listm'.choose id

23:19:38 #13466 [Debug] >     |> listm'.unzip

23:19:38 #13467 [Debug] >

23:19:38 #13468 [Debug] > inl time_ke_rk4_x, time_ke_rk4_y =

23:19:38 #13469 [Debug] >     billiard_states_finite runge_kutta_4 30 0.03

23:19:38 #13470 [Debug] >     |> listm.map (fun (multi_particle_state mpst) =>

23:19:38 #13471 [Debug] >         mpst 0i32

23:19:38 #13472 [Debug] >         |> optionm.map (fun st =>

23:19:38 #13473 [Debug] >             st.time, system_ke (multi_particle_state mpst)

23:19:38 #13474 [Debug] >         )

23:19:38 #13475 [Debug] >     )

23:19:38 #13476 [Debug] >     |> listm'.choose id

23:19:38 #13477 [Debug] >     |> listm'.unzip

23:19:38 #13478 [Debug] >

23:19:38 #13479 [Debug] > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray

23:19:38 #13480 [Debug] > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray

23:19:38 #13481 [Debug] >

23:19:38 #13482 [Debug] > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray

23:19:38 #13483 [Debug] > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray

23:19:38 #13484 [Debug] >

23:19:38 #13485 [Debug] > "system kinetic energy versus time",

23:19:38 #13486 [Debug] > "time (s)",

23:19:38 #13487 [Debug] > "system kinetic energy (j)",

23:19:38 #13488 [Debug] > ;[[

23:19:38 #13489 [Debug] >     "euler-cromer", time_ke_ec_x, time_ke_ec_y

23:19:38 #13490 [Debug] >     "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y

23:19:38 #13491 [Debug] > ]]

23:19:38 #13492 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3822-2249-2360804efa21\main.spi

23:19:40 #13493 [Debug] >

23:19:40 #13494 [Debug] > ╭─[ 2.61s - return value ]─────────────────────────────────────────────────────╮

23:19:40 #13495 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:40 #13496 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:40 #13497 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:40 #13498 [Debug] > │ stroke="none"/>                                                              │

23:19:40 #13499 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:40 #13500 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13501 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13502 [Debug] > │ system kinetic energy versus time                                            │

23:19:40 #13503 [Debug] > │ </text>                                                                      │

23:19:40 #13504 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │

23:19:40 #13505 [Debug] > │ y2="75"/>                                                                    │

23:19:40 #13506 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:40 #13507 [Debug] > │ y2="75"/>                                                                    │

23:19:40 #13508 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │

23:19:40 #13509 [Debug] > │ y2="75"/>                                                                    │

23:19:40 #13510 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │

23:19:40 #13511 [Debug] > │ y2="75"/>                                                                    │

23:19:40 #13512 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │

23:19:40 #13513 [Debug] > │ y2="75"/>                                                                    │

23:19:40 #13514 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424"        │

23:19:40 #13515 [Debug] > │ x2="109" y2="75"/>                                                           │

23:19:40 #13516 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424"        │

23:19:40 #13517 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:40 #13518 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424"        │

23:19:40 #13519 [Debug] > │ x2="129" y2="75"/>                                                           │

23:19:40 #13520 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:40 #13521 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:40 #13522 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424"        │

23:19:40 #13523 [Debug] > │ x2="149" y2="75"/>                                                           │

23:19:40 #13524 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424"        │

23:19:40 #13525 [Debug] > │ x2="159" y2="75"/>                                                           │

23:19:40 #13526 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:40 #13527 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:40 #13528 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424"        │

23:19:40 #13529 [Debug] > │ x2="179" y2="75"/>                                                           │

23:19:40 #13530 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424"        │

23:19:40 #13531 [Debug] > │ x2="189" y2="75"/>                                                           │

23:19:40 #13532 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424"        │

23:19:40 #13533 [Debug] > │ x2="199" y2="75"/>                                                           │

23:19:40 #13534 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424"        │

23:19:40 #13535 [Debug] > │ x2="209" y2="75"/>                                                           │

23:19:40 #13536 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424"        │

23:19:40 #13537 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:40 #13538 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424"        │

23:19:40 #13539 [Debug] > │ x2="229" y2="75"/>                                                           │

23:19:40 #13540 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424"        │

23:19:40 #13541 [Debug] > │ x2="239" y2="75"/>                                                           │

23:19:40 #13542 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424"        │

23:19:40 #13543 [Debug] > │ x2="249" y2="75"/>                                                           │

23:19:40 #13544 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424"        │

23:19:40 #13545 [Debug] > │ x2="259" y2="75"/>                                                           │

23:19:40 #13546 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:40 #13547 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:40 #13548 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424"        │

23:19:40 #13549 [Debug] > │ x2="279" y2="75"/>                                                           │

23:19:40 #13550 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424"        │

23:19:40 #13551 [Debug] > │ x2="289" y2="75"/>                                                           │

23:19:40 #13552 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424"        │

23:19:40 #13553 [Debug] > │ x2="299" y2="75"/>                                                           │

23:19:40 #13554 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424"        │

23:19:40 #13555 [Debug] > │ x2="309" y2="75"/>                                                           │

23:19:40 #13556 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424"        │

23:19:40 #13557 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:40 #13558 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424"        │

23:19:40 #13559 [Debug] > │ x2="329" y2="75"/>                                                           │

23:19:40 #13560 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424"        │

23:19:40 #13561 [Debug] > │ x2="339" y2="75"/>                                                           │

23:19:40 #13562 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424"        │

23:19:40 #13563 [Debug] > │ x2="349" y2="75"/>                                                           │

23:19:40 #13564 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424"        │

23:19:40 #13565 [Debug] > │ x2="359" y2="75"/>                                                           │

23:19:40 #13566 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:40 #13567 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:40 #13568 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424"        │

23:19:40 #13569 [Debug] > │ x2="379" y2="75"/>                                                           │

23:19:40 #13570 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424"        │

23:19:40 #13571 [Debug] > │ x2="389" y2="75"/>                                                           │

23:19:40 #13572 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424"        │

23:19:40 #13573 [Debug] > │ x2="399" y2="75"/>                                                           │

23:19:40 #13574 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424"        │

23:19:40 #13575 [Debug] > │ x2="409" y2="75"/>                                                           │

23:19:40 #13576 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424"        │

23:19:40 #13577 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:40 #13578 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424"        │

23:19:40 #13579 [Debug] > │ x2="429" y2="75"/>                                                           │

23:19:40 #13580 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424"        │

23:19:40 #13581 [Debug] > │ x2="439" y2="75"/>                                                           │

23:19:40 #13582 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424"        │

23:19:40 #13583 [Debug] > │ x2="449" y2="75"/>                                                           │

23:19:40 #13584 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424"        │

23:19:40 #13585 [Debug] > │ x2="459" y2="75"/>                                                           │

23:19:40 #13586 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:40 #13587 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:40 #13588 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424"        │

23:19:40 #13589 [Debug] > │ x2="479" y2="75"/>                                                           │

23:19:40 #13590 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424"        │

23:19:40 #13591 [Debug] > │ x2="489" y2="75"/>                                                           │

23:19:40 #13592 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:40 #13593 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:40 #13594 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424"        │

23:19:40 #13595 [Debug] > │ x2="509" y2="75"/>                                                           │

23:19:40 #13596 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424"        │

23:19:40 #13597 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:40 #13598 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424"        │

23:19:40 #13599 [Debug] > │ x2="529" y2="75"/>                                                           │

23:19:40 #13600 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424"        │

23:19:40 #13601 [Debug] > │ x2="539" y2="75"/>                                                           │

23:19:40 #13602 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424"        │

23:19:40 #13603 [Debug] > │ x2="549" y2="75"/>                                                           │

23:19:40 #13604 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424"        │

23:19:40 #13605 [Debug] > │ x2="559" y2="75"/>                                                           │

23:19:40 #13606 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:40 #13607 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:40 #13608 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424"        │

23:19:40 #13609 [Debug] > │ x2="579" y2="75"/>                                                           │

23:19:40 #13610 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="416"         │

23:19:40 #13611 [Debug] > │ x2="584" y2="416"/>                                                          │

23:19:40 #13612 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404"         │

23:19:40 #13613 [Debug] > │ x2="584" y2="404"/>                                                          │

23:19:40 #13614 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="392"         │

23:19:40 #13615 [Debug] > │ x2="584" y2="392"/>                                                          │

23:19:40 #13616 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380"         │

23:19:40 #13617 [Debug] > │ x2="584" y2="380"/>                                                          │

23:19:40 #13618 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368"         │

23:19:40 #13619 [Debug] > │ x2="584" y2="368"/>                                                          │

23:19:40 #13620 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="356"         │

23:19:40 #13621 [Debug] > │ x2="584" y2="356"/>                                                          │

23:19:40 #13622 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="344"         │

23:19:40 #13623 [Debug] > │ x2="584" y2="344"/>                                                          │

23:19:40 #13624 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332"         │

23:19:40 #13625 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:40 #13626 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321"         │

23:19:40 #13627 [Debug] > │ x2="584" y2="321"/>                                                          │

23:19:40 #13628 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="309"         │

23:19:40 #13629 [Debug] > │ x2="584" y2="309"/>                                                          │

23:19:40 #13630 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="297"         │

23:19:40 #13631 [Debug] > │ x2="584" y2="297"/>                                                          │

23:19:40 #13632 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="285"         │

23:19:40 #13633 [Debug] > │ x2="584" y2="285"/>                                                          │

23:19:40 #13634 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273"         │

23:19:40 #13635 [Debug] > │ x2="584" y2="273"/>                                                          │

23:19:40 #13636 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="261"         │

23:19:40 #13637 [Debug] > │ x2="584" y2="261"/>                                                          │

23:19:40 #13638 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="249"         │

23:19:40 #13639 [Debug] > │ x2="584" y2="249"/>                                                          │

23:19:40 #13640 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="237"         │

23:19:40 #13641 [Debug] > │ x2="584" y2="237"/>                                                          │

23:19:40 #13642 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="225"         │

23:19:40 #13643 [Debug] > │ x2="584" y2="225"/>                                                          │

23:19:40 #13644 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="213"         │

23:19:40 #13645 [Debug] > │ x2="584" y2="213"/>                                                          │

23:19:40 #13646 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:40 #13647 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:40 #13648 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="189"         │

23:19:40 #13649 [Debug] > │ x2="584" y2="189"/>                                                          │

23:19:40 #13650 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="177"         │

23:19:40 #13651 [Debug] > │ x2="584" y2="177"/>                                                          │

23:19:40 #13652 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="165"         │

23:19:40 #13653 [Debug] > │ x2="584" y2="165"/>                                                          │

23:19:40 #13654 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="153"         │

23:19:40 #13655 [Debug] > │ x2="584" y2="153"/>                                                          │

23:19:40 #13656 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="142"         │

23:19:40 #13657 [Debug] > │ x2="584" y2="142"/>                                                          │

23:19:40 #13658 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="130"         │

23:19:40 #13659 [Debug] > │ x2="584" y2="130"/>                                                          │

23:19:40 #13660 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118"         │

23:19:40 #13661 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:40 #13662 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106"         │

23:19:40 #13663 [Debug] > │ x2="584" y2="106"/>                                                          │

23:19:40 #13664 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="94" x2="584" │

23:19:40 #13665 [Debug] > │ y2="94"/>                                                                    │

23:19:40 #13666 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="82" x2="584" │

23:19:40 #13667 [Debug] > │ y2="82"/>                                                                    │

23:19:40 #13668 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:40 #13669 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13670 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13671 [Debug] > │ time (s)                                                                     │

23:19:40 #13672 [Debug] > │ </text>                                                                      │

23:19:40 #13673 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:40 #13674 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13675 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:40 #13676 [Debug] > │ system kinetic energy (j)                                                    │

23:19:40 #13677 [Debug] > │ </text>                                                                      │

23:19:40 #13678 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:40 #13679 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13680 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13681 [Debug] > │ time (s)                                                                     │

23:19:40 #13682 [Debug] > │ </text>                                                                      │

23:19:40 #13683 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13684 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13685 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:40 #13686 [Debug] > │ system kinetic energy (j)                                                    │

23:19:40 #13687 [Debug] > │ </text>                                                                      │

23:19:40 #13688 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:40 #13689 [Debug] > │ y2="75"/>                                                                    │

23:19:40 #13690 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424"        │

23:19:40 #13691 [Debug] > │ x2="119" y2="75"/>                                                           │

23:19:40 #13692 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424"        │

23:19:40 #13693 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:40 #13694 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424"        │

23:19:40 #13695 [Debug] > │ x2="219" y2="75"/>                                                           │

23:19:40 #13696 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424"        │

23:19:40 #13697 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:40 #13698 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424"        │

23:19:40 #13699 [Debug] > │ x2="319" y2="75"/>                                                           │

23:19:40 #13700 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424"        │

23:19:40 #13701 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:40 #13702 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424"        │

23:19:40 #13703 [Debug] > │ x2="419" y2="75"/>                                                           │

23:19:40 #13704 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424"        │

23:19:40 #13705 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:40 #13706 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424"        │

23:19:40 #13707 [Debug] > │ x2="519" y2="75"/>                                                           │

23:19:40 #13708 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:40 #13709 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:40 #13710 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="380"         │

23:19:40 #13711 [Debug] > │ x2="584" y2="380"/>                                                          │

23:19:40 #13712 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332"         │

23:19:40 #13713 [Debug] > │ x2="584" y2="332"/>                                                          │

23:19:40 #13714 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="285"         │

23:19:40 #13715 [Debug] > │ x2="584" y2="285"/>                                                          │

23:19:40 #13716 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="237"         │

23:19:40 #13717 [Debug] > │ x2="584" y2="237"/>                                                          │

23:19:40 #13718 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="189"         │

23:19:40 #13719 [Debug] > │ x2="584" y2="189"/>                                                          │

23:19:40 #13720 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="142"         │

23:19:40 #13721 [Debug] > │ x2="584" y2="142"/>                                                          │

23:19:40 #13722 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="94" x2="584" │

23:19:40 #13723 [Debug] > │ y2="94"/>                                                                    │

23:19:40 #13724 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13725 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:40 #13726 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:40 #13727 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13728 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13729 [Debug] > │ 0.0                                                                          │

23:19:40 #13730 [Debug] > │ </text>                                                                      │

23:19:40 #13731 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13732 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:40 #13733 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13734 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13735 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13736 [Debug] > │ 1.0                                                                          │

23:19:40 #13737 [Debug] > │ </text>                                                                      │

23:19:40 #13738 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13739 [Debug] > │ points="119,69 119,74 "/>                                                    │

23:19:40 #13740 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13741 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13742 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13743 [Debug] > │ 2.0                                                                          │

23:19:40 #13744 [Debug] > │ </text>                                                                      │

23:19:40 #13745 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13746 [Debug] > │ points="169,69 169,74 "/>                                                    │

23:19:40 #13747 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13748 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13749 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13750 [Debug] > │ 3.0                                                                          │

23:19:40 #13751 [Debug] > │ </text>                                                                      │

23:19:40 #13752 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13753 [Debug] > │ points="219,69 219,74 "/>                                                    │

23:19:40 #13754 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13755 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13756 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13757 [Debug] > │ 4.0                                                                          │

23:19:40 #13758 [Debug] > │ </text>                                                                      │

23:19:40 #13759 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13760 [Debug] > │ points="269,69 269,74 "/>                                                    │

23:19:40 #13761 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13762 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13763 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13764 [Debug] > │ 5.0                                                                          │

23:19:40 #13765 [Debug] > │ </text>                                                                      │

23:19:40 #13766 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13767 [Debug] > │ points="319,69 319,74 "/>                                                    │

23:19:40 #13768 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13769 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13770 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13771 [Debug] > │ 6.0                                                                          │

23:19:40 #13772 [Debug] > │ </text>                                                                      │

23:19:40 #13773 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13774 [Debug] > │ points="369,69 369,74 "/>                                                    │

23:19:40 #13775 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13776 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13777 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13778 [Debug] > │ 7.0                                                                          │

23:19:40 #13779 [Debug] > │ </text>                                                                      │

23:19:40 #13780 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13781 [Debug] > │ points="419,69 419,74 "/>                                                    │

23:19:40 #13782 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13783 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13784 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13785 [Debug] > │ 8.0                                                                          │

23:19:40 #13786 [Debug] > │ </text>                                                                      │

23:19:40 #13787 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13788 [Debug] > │ points="469,69 469,74 "/>                                                    │

23:19:40 #13789 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13790 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13791 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13792 [Debug] > │ 9.0                                                                          │

23:19:40 #13793 [Debug] > │ </text>                                                                      │

23:19:40 #13794 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13795 [Debug] > │ points="519,69 519,74 "/>                                                    │

23:19:40 #13796 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:40 #13797 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13798 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13799 [Debug] > │ 10.0                                                                         │

23:19:40 #13800 [Debug] > │ </text>                                                                      │

23:19:40 #13801 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13802 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:40 #13803 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13804 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:40 #13805 [Debug] > │ <text x="45" y="380" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:40 #13806 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:40 #13807 [Debug] > │ 0.0                                                                          │

23:19:40 #13808 [Debug] > │ </text>                                                                      │

23:19:40 #13809 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13810 [Debug] > │ points="49,380 54,380 "/>                                                    │

23:19:40 #13811 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:40 #13812 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:40 #13813 [Debug] > │ 0.0                                                                          │

23:19:40 #13814 [Debug] > │ </text>                                                                      │

23:19:40 #13815 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13816 [Debug] > │ points="49,332 54,332 "/>                                                    │

23:19:40 #13817 [Debug] > │ <text x="45" y="285" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:40 #13818 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:40 #13819 [Debug] > │ 0.0                                                                          │

23:19:40 #13820 [Debug] > │ </text>                                                                      │

23:19:40 #13821 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13822 [Debug] > │ points="49,285 54,285 "/>                                                    │

23:19:40 #13823 [Debug] > │ <text x="45" y="237" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:40 #13824 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:40 #13825 [Debug] > │ 0.0                                                                          │

23:19:40 #13826 [Debug] > │ </text>                                                                      │

23:19:40 #13827 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13828 [Debug] > │ points="49,237 54,237 "/>                                                    │

23:19:40 #13829 [Debug] > │ <text x="45" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:40 #13830 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:40 #13831 [Debug] > │ 0.0                                                                          │

23:19:40 #13832 [Debug] > │ </text>                                                                      │

23:19:40 #13833 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13834 [Debug] > │ points="49,189 54,189 "/>                                                    │

23:19:40 #13835 [Debug] > │ <text x="45" y="142" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:40 #13836 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:40 #13837 [Debug] > │ 0.0                                                                          │

23:19:40 #13838 [Debug] > │ </text>                                                                      │

23:19:40 #13839 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13840 [Debug] > │ points="49,142 54,142 "/>                                                    │

23:19:40 #13841 [Debug] > │ <text x="45" y="94" dy="0.5ex" text-anchor="end" font-family="sans-serif"    │

23:19:40 #13842 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:40 #13843 [Debug] > │ 0.0                                                                          │

23:19:40 #13844 [Debug] > │ </text>                                                                      │

23:19:40 #13845 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13846 [Debug] > │ points="49,94 54,94 "/>                                                      │

23:19:40 #13847 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13848 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:40 #13849 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:40 #13850 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13851 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13852 [Debug] > │ 0.0                                                                          │

23:19:40 #13853 [Debug] > │ </text>                                                                      │

23:19:40 #13854 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13855 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:40 #13856 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13857 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13858 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13859 [Debug] > │ 1.0                                                                          │

23:19:40 #13860 [Debug] > │ </text>                                                                      │

23:19:40 #13861 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13862 [Debug] > │ points="119,425 119,430 "/>                                                  │

23:19:40 #13863 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13864 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13865 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13866 [Debug] > │ 2.0                                                                          │

23:19:40 #13867 [Debug] > │ </text>                                                                      │

23:19:40 #13868 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13869 [Debug] > │ points="169,425 169,430 "/>                                                  │

23:19:40 #13870 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13871 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13872 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13873 [Debug] > │ 3.0                                                                          │

23:19:40 #13874 [Debug] > │ </text>                                                                      │

23:19:40 #13875 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13876 [Debug] > │ points="219,425 219,430 "/>                                                  │

23:19:40 #13877 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13878 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13879 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13880 [Debug] > │ 4.0                                                                          │

23:19:40 #13881 [Debug] > │ </text>                                                                      │

23:19:40 #13882 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13883 [Debug] > │ points="269,425 269,430 "/>                                                  │

23:19:40 #13884 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13885 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13886 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13887 [Debug] > │ 5.0                                                                          │

23:19:40 #13888 [Debug] > │ </text>                                                                      │

23:19:40 #13889 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13890 [Debug] > │ points="319,425 319,430 "/>                                                  │

23:19:40 #13891 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13892 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13893 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13894 [Debug] > │ 6.0                                                                          │

23:19:40 #13895 [Debug] > │ </text>                                                                      │

23:19:40 #13896 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13897 [Debug] > │ points="369,425 369,430 "/>                                                  │

23:19:40 #13898 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:40 #13899 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:40 #13900 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:40 #13901 [Debug] > │ 7.0                                                                          │

23:19:40 #13902 [Debug] > │ </text>                                                                      │

23:19:40 #13903 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:40 #13904 [Debug] > │ points="419,425 419,430 "/>                                                  │

23:19:40 #13905 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:41 #13906 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13907 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13908 [Debug] > │ 8.0                                                                          │

23:19:41 #13909 [Debug] > │ </text>                                                                      │

23:19:41 #13910 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13911 [Debug] > │ points="469,425 469,430 "/>                                                  │

23:19:41 #13912 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:41 #13913 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13914 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13915 [Debug] > │ 9.0                                                                          │

23:19:41 #13916 [Debug] > │ </text>                                                                      │

23:19:41 #13917 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13918 [Debug] > │ points="519,425 519,430 "/>                                                  │

23:19:41 #13919 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:41 #13920 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13921 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13922 [Debug] > │ 10.0                                                                         │

23:19:41 #13923 [Debug] > │ </text>                                                                      │

23:19:41 #13924 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13925 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:41 #13926 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13927 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:41 #13928 [Debug] > │ <text x="595" y="380" dy="0.5ex" text-anchor="start"                         │

23:19:41 #13929 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13930 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13931 [Debug] > │ 0.0                                                                          │

23:19:41 #13932 [Debug] > │ </text>                                                                      │

23:19:41 #13933 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13934 [Debug] > │ points="585,380 590,380 "/>                                                  │

23:19:41 #13935 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start"                         │

23:19:41 #13936 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13937 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13938 [Debug] > │ 0.0                                                                          │

23:19:41 #13939 [Debug] > │ </text>                                                                      │

23:19:41 #13940 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13941 [Debug] > │ points="585,332 590,332 "/>                                                  │

23:19:41 #13942 [Debug] > │ <text x="595" y="285" dy="0.5ex" text-anchor="start"                         │

23:19:41 #13943 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13944 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13945 [Debug] > │ 0.0                                                                          │

23:19:41 #13946 [Debug] > │ </text>                                                                      │

23:19:41 #13947 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13948 [Debug] > │ points="585,285 590,285 "/>                                                  │

23:19:41 #13949 [Debug] > │ <text x="595" y="237" dy="0.5ex" text-anchor="start"                         │

23:19:41 #13950 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13951 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13952 [Debug] > │ 0.0                                                                          │

23:19:41 #13953 [Debug] > │ </text>                                                                      │

23:19:41 #13954 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13955 [Debug] > │ points="585,237 590,237 "/>                                                  │

23:19:41 #13956 [Debug] > │ <text x="595" y="189" dy="0.5ex" text-anchor="start"                         │

23:19:41 #13957 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13958 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13959 [Debug] > │ 0.0                                                                          │

23:19:41 #13960 [Debug] > │ </text>                                                                      │

23:19:41 #13961 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13962 [Debug] > │ points="585,189 590,189 "/>                                                  │

23:19:41 #13963 [Debug] > │ <text x="595" y="142" dy="0.5ex" text-anchor="start"                         │

23:19:41 #13964 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #13965 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #13966 [Debug] > │ 0.0                                                                          │

23:19:41 #13967 [Debug] > │ </text>                                                                      │

23:19:41 #13968 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13969 [Debug] > │ points="585,142 590,142 "/>                                                  │

23:19:41 #13970 [Debug] > │ <text x="595" y="94" dy="0.5ex" text-anchor="start" font-family="sans-serif" │

23:19:41 #13971 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:41 #13972 [Debug] > │ 0.0                                                                          │

23:19:41 #13973 [Debug] > │ </text>                                                                      │

23:19:41 #13974 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:41 #13975 [Debug] > │ points="585,94 590,94 "/>                                                    │

23:19:41 #13976 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:41 #13977 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94    │

23:19:41 #13978 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94    │

23:19:41 #13979 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │

23:19:41 #13980 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │

23:19:41 #13981 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │

23:19:41 #13982 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │

23:19:41 #13983 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │

23:19:41 #13984 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │

23:19:41 #13985 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │

23:19:41 #13986 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │

23:19:41 #13987 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │

23:19:41 #13988 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │

23:19:41 #13989 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │

23:19:41 #13990 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │

23:19:41 #13991 [Debug] > │ 302,94 303,94 305,94 306,94 308,243 309,402 311,368 312,185 314,85 315,85    │

23:19:41 #13992 [Debug] > │ 317,85 318,85 320,85 321,85 323,85 324,85 326,85 327,85 329,85 330,85 332,85 │

23:19:41 #13993 [Debug] > │ 333,85 335,85 336,85 338,85 339,85 341,85 342,85 344,85 345,85 347,85 348,85 │

23:19:41 #13994 [Debug] > │ 350,85 351,85 353,85 354,85 356,85 357,85 359,85 360,85 362,85 363,85 365,85 │

23:19:41 #13995 [Debug] > │ 366,85 368,85 369,85 371,85 372,85 374,85 375,85 377,85 378,85 380,85 381,85 │

23:19:41 #13996 [Debug] > │ 383,85 384,85 386,85 387,85 389,85 390,85 392,85 393,85 395,85 396,85 398,85 │

23:19:41 #13997 [Debug] > │ 399,85 401,85 402,85 404,85 405,85 407,85 408,85 410,85 411,85 413,85 414,85 │

23:19:41 #13998 [Debug] > │ 416,85 417,85 419,85 420,85 422,85 423,85 425,85 426,85 428,85 429,85 431,85 │

23:19:41 #13999 [Debug] > │ 432,85 434,85 435,85 437,85 438,85 440,85 441,85 443,85 444,85 446,85 447,85 │

23:19:41 #14000 [Debug] > │ 449,85 450,85 452,85 453,85 455,85 456,85 458,85 459,85 461,85 462,85 464,85 │

23:19:41 #14001 [Debug] > │ 465,85 467,85 468,85 470,85 471,85 473,85 474,85 476,85 477,85 479,85 480,85 │

23:19:41 #14002 [Debug] > │ 482,85 483,85 485,85 486,85 488,85 489,85 491,85 492,85 494,85 495,85 497,85 │

23:19:41 #14003 [Debug] > │ 498,85 500,85 501,85 503,85 504,85 506,85 507,85 509,85 510,85 512,85 513,85 │

23:19:41 #14004 [Debug] > │ 515,85 516,85 518,85 519,85 521,85 522,85 524,85 525,85 527,85 528,85 530,85 │

23:19:41 #14005 [Debug] > │ 531,85 533,85 534,85 536,85 537,85 539,85 540,85 542,85 543,85 545,85 546,85 │

23:19:41 #14006 [Debug] > │ 548,85 549,85 551,85 552,85 554,85 555,85 557,85 558,85 560,85 561,85 563,85 │

23:19:41 #14007 [Debug] > │ 564,85 566,85 567,85 569,85 "/>                                              │

23:19:41 #14008 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:41 #14009 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94    │

23:19:41 #14010 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94    │

23:19:41 #14011 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │

23:19:41 #14012 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │

23:19:41 #14013 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │

23:19:41 #14014 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │

23:19:41 #14015 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │

23:19:41 #14016 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │

23:19:41 #14017 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │

23:19:41 #14018 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │

23:19:41 #14019 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │

23:19:41 #14020 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │

23:19:41 #14021 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │

23:19:41 #14022 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │

23:19:41 #14023 [Debug] > │ 302,94 303,94 305,94 306,157 308,335 309,415 311,298 312,130 314,104 315,104 │

23:19:41 #14024 [Debug] > │ 317,104 318,104 320,104 321,104 323,104 324,104 326,104 327,104 329,104      │

23:19:41 #14025 [Debug] > │ 330,104 332,104 333,104 335,104 336,104 338,104 339,104 341,104 342,104      │

23:19:41 #14026 [Debug] > │ 344,104 345,104 347,104 348,104 350,104 351,104 353,104 354,104 356,104      │

23:19:41 #14027 [Debug] > │ 357,104 359,104 360,104 362,104 363,104 365,104 366,104 368,104 369,104      │

23:19:41 #14028 [Debug] > │ 371,104 372,104 374,104 375,104 377,104 378,104 380,104 381,104 383,104      │

23:19:41 #14029 [Debug] > │ 384,104 386,104 387,104 389,104 390,104 392,104 393,104 395,104 396,104      │

23:19:41 #14030 [Debug] > │ 398,104 399,104 401,104 402,104 404,104 405,104 407,104 408,104 410,104      │

23:19:41 #14031 [Debug] > │ 411,104 413,104 414,104 416,104 417,104 419,104 420,104 422,104 423,104      │

23:19:41 #14032 [Debug] > │ 425,104 426,104 428,104 429,104 431,104 432,104 434,104 435,104 437,104      │

23:19:41 #14033 [Debug] > │ 438,104 440,104 441,104 443,104 444,104 446,104 447,104 449,104 450,104      │

23:19:41 #14034 [Debug] > │ 452,104 453,104 455,104 456,104 458,104 459,104 461,104 462,104 464,104      │

23:19:41 #14035 [Debug] > │ 465,104 467,104 468,104 470,104 471,104 473,104 474,104 476,104 477,104      │

23:19:41 #14036 [Debug] > │ 479,104 480,104 482,104 483,104 485,104 486,104 488,104 489,104 491,104      │

23:19:41 #14037 [Debug] > │ 492,104 494,104 495,104 497,104 498,104 500,104 501,104 503,104 504,104      │

23:19:41 #14038 [Debug] > │ 506,104 507,104 509,104 510,104 512,104 513,104 515,104 516,104 518,104      │

23:19:41 #14039 [Debug] > │ 519,104 521,104 522,104 524,104 525,104 527,104 528,104 530,104 531,104      │

23:19:41 #14040 [Debug] > │ 533,104 534,104 536,104 537,104 539,104 540,104 542,104 543,104 545,104      │

23:19:41 #14041 [Debug] > │ 546,104 548,104 549,104 551,104 552,104 554,104 555,104 557,104 558,104      │

23:19:41 #14042 [Debug] > │ 560,104 561,104 563,104 564,104 566,104 567,104 569,104 "/>                  │

23:19:41 #14043 [Debug] > │ <rect x="459" y="227" width="121" height="45" opacity="1" fill="none"        │

23:19:41 #14044 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:41 #14045 [Debug] > │ <text x="499" y="237" dy="0.76em" text-anchor="start"                        │

23:19:41 #14046 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #14047 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #14048 [Debug] > │ euler-cromer                                                                 │

23:19:41 #14049 [Debug] > │ </text>                                                                      │

23:19:41 #14050 [Debug] > │ <text x="499" y="252" dy="0.76em" text-anchor="start"                        │

23:19:41 #14051 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:41 #14052 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:41 #14053 [Debug] > │ runge-kutta 4                                                                │

23:19:41 #14054 [Debug] > │ </text>                                                                      │

23:19:41 #14055 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:41 #14056 [Debug] > │ points="469,242 489,242 "/>                                                  │

23:19:41 #14057 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1"          │

23:19:41 #14058 [Debug] > │ points="469,257 489,257 "/>                                                  │

23:19:41 #14059 [Debug] > │ </svg>                                                                       │

23:19:41 #14060 [Debug] > │                                                                              │

23:19:41 #14061 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:41 #14062 [Debug] >

23:19:41 #14063 [Debug] > ╭─[ 2.88s - stdout ]───────────────────────────────────────────────────────────╮

23:19:41 #14064 [Debug] > │ type [<Struct>] US0 =                                                        │

23:19:41 #14065 [Debug] > │     | US0_0                                                                  │

23:19:41 #14066 [Debug] > │     | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float *   │

23:19:41 #14067 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float     │

23:19:41 #14068 [Debug] > │ and [<Struct>] US1 =                                                         │

23:19:41 #14069 [Debug] > │     | US1_0                                                                  │

23:19:41 #14070 [Debug] > │     | US1_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float *   │

23:19:41 #14071 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float     │

23:19:41 #14072 [Debug] > │ and UH0 =                                                                    │

23:19:41 #14073 [Debug] > │     | UH0_0 of int32 * US0 * UH0                                             │

23:19:41 #14074 [Debug] > │     | UH0_1                                                                  │

23:19:41 #14075 [Debug] > │ and Mut0 = {mutable l0 : UH0}                                                │

23:19:41 #14076 [Debug] > │ and [<Struct>] US2 =                                                         │

23:19:41 #14077 [Debug] > │     | US2_0                                                                  │

23:19:41 #14078 [Debug] > │     | US2_1 of f1_0 : int32 * f1_1 : US0                                     │

23:19:41 #14079 [Debug] > │ and [<Struct>] US3 =                                                         │

23:19:41 #14080 [Debug] > │     | US3_0                                                                  │

23:19:41 #14081 [Debug] > │     | US3_1 of f1_0 : (struct (float * float * float * float * float * float │

23:19:41 #14082 [Debug] > │ * float * float * float) -> struct (float * float * float))                  │

23:19:41 #14083 [Debug] > │ and UH1 =                                                                    │

23:19:41 #14084 [Debug] > │     | UH1_0 of (struct (float * float * float * float * float * float *      │

23:19:41 #14085 [Debug] > │ float * float * float) -> struct (float * float * float)) * UH1              │

23:19:41 #14086 [Debug] > │     | UH1_1                                                                  │

23:19:41 #14087 [Debug] > │ and UH2 =                                                                    │

23:19:41 #14088 [Debug] > │     | UH2_0 of float * float * float * UH2                                   │

23:19:41 #14089 [Debug] > │     | UH2_1                                                                  │

23:19:41 #14090 [Debug] > │ and UH3 =                                                                    │

23:19:41 #14091 [Debug] > │     | UH3_0 of (int32 -> US0) * UH3                                          │

23:19:41 #14092 [Debug] > │     | UH3_1                                                                  │

23:19:41 #14093 [Debug] > │ and [<Struct>] US4 =                                                         │

23:19:41 #14094 [Debug] > │     | US4_0                                                                  │

23:19:41 #14095 [Debug] > │     | US4_1 of f1_0 : float * f1_1 : float                                   │

23:19:41 #14096 [Debug] > │ and UH4 =                                                                    │

23:19:41 #14097 [Debug] > │     | UH4_0 of US4 * UH4                                                     │

23:19:41 #14098 [Debug] > │     | UH4_1                                                                  │

23:19:41 #14099 [Debug] > │ and [<Struct>] US5 =                                                         │

23:19:41 #14100 [Debug] > │     | US5_0                                                                  │

23:19:41 #14101 [Debug] > │     | US5_1 of f1_0 : float                                                  │

23:19:41 #14102 [Debug] > │ and UH5 =                                                                    │

23:19:41 #14103 [Debug] > │     | UH5_0 of float * float * UH5                                           │

23:19:41 #14104 [Debug] > │     | UH5_1                                                                  │

23:19:41 #14105 [Debug] > │ and UH6 =                                                                    │

23:19:41 #14106 [Debug] > │     | UH6_0 of float * UH6                                                   │

23:19:41 #14107 [Debug] > │     | UH6_1                                                                  │

23:19:41 #14108 [Debug] > │ let rec method1 (v0 : int32, v1 : UH0) : US2 =                               │

23:19:41 #14109 [Debug] > │     match v1 with                                                            │

23:19:41 #14110 [Debug] > │     | UH0_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:41 #14111 [Debug] > │         let v6 : bool = v3 = v0                                              │

23:19:41 #14112 [Debug] > │         if v6 then                                                           │

23:19:41 #14113 [Debug] > │             US2_1(v3, v4)                                                    │

23:19:41 #14114 [Debug] > │         else                                                                 │

23:19:41 #14115 [Debug] > │             method1(v0, v5)                                                  │

23:19:41 #14116 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:41 #14117 [Debug] > │         US2_0                                                                │

23:19:41 #14118 [Debug] > │ and closure3 (v0 : float, v1 : (int32 -> US0), v2 : (int32 -> US1), v3 :     │

23:19:41 #14119 [Debug] > │ Mut0) (v4 : int32) : US0 =                                                   │

23:19:41 #14120 [Debug] > │     let v5 : US0 = v1 v4                                                     │

23:19:41 #14121 [Debug] > │     let v6 : UH0 = v3.l0                                                     │

23:19:41 #14122 [Debug] > │     let v7 : US2 = method1(v4, v6)                                           │

23:19:41 #14123 [Debug] > │     let v52 : US0 =                                                          │

23:19:41 #14124 [Debug] > │         match v7 with                                                        │

23:19:41 #14125 [Debug] > │         | US2_0 -> (* None *)                                                │

23:19:41 #14126 [Debug] > │             let v10 : US1 = v2 v4                                            │

23:19:41 #14127 [Debug] > │             let v11 : US0 = v1 v4                                            │

23:19:41 #14128 [Debug] > │             let v48 : US0 =                                                  │

23:19:41 #14129 [Debug] > │                 match v10 with                                               │

23:19:41 #14130 [Debug] > │                 | US1_1(v12, v13, v14, v15, v16, v17, v18, v19, v20) -> (*   │

23:19:41 #14131 [Debug] > │ Some *)                                                                      │

23:19:41 #14132 [Debug] > │                     match v11 with                                           │

23:19:41 #14133 [Debug] > │                     | US0_1(v21, v22, v23, v24, v25, v26, v27, v28, v29) ->  │

23:19:41 #14134 [Debug] > │ (* Some *)                                                                   │

23:19:41 #14135 [Debug] > │                         let v30 : float = v17 * v0                           │

23:19:41 #14136 [Debug] > │                         let v31 : float = v26 + v30                          │

23:19:41 #14137 [Debug] > │                         let v32 : float = v0 * v14                           │

23:19:41 #14138 [Debug] > │                         let v33 : float = v0 * v15                           │

23:19:41 #14139 [Debug] > │                         let v34 : float = v0 * v16                           │

23:19:41 #14140 [Debug] > │                         let v35 : float = v23 + v32                          │

23:19:41 #14141 [Debug] > │                         let v36 : float = v24 + v33                          │

23:19:41 #14142 [Debug] > │                         let v37 : float = v25 + v34                          │

23:19:41 #14143 [Debug] > │                         let v38 : float = v0 * v18                           │

23:19:41 #14144 [Debug] > │                         let v39 : float = v0 * v19                           │

23:19:41 #14145 [Debug] > │                         let v40 : float = v0 * v20                           │

23:19:41 #14146 [Debug] > │                         let v41 : float = v27 + v38                          │

23:19:41 #14147 [Debug] > │                         let v42 : float = v28 + v39                          │

23:19:41 #14148 [Debug] > │                         let v43 : float = v29 + v40                          │

23:19:41 #14149 [Debug] > │                         US0_1(v21, v22, v35, v36, v37, v31, v41, v42, v43)   │

23:19:41 #14150 [Debug] > │                     | _ ->                                                   │

23:19:41 #14151 [Debug] > │                         US0_0                                                │

23:19:41 #14152 [Debug] > │                 | _ ->                                                       │

23:19:41 #14153 [Debug] > │                     US0_0                                                    │

23:19:41 #14154 [Debug] > │             let v49 : UH0 = v3.l0                                            │

23:19:41 #14155 [Debug] > │             let v50 : UH0 = UH0_0(v4, v48, v49)                              │

23:19:41 #14156 [Debug] > │             v3.l0 <- v50                                                     │

23:19:41 #14157 [Debug] > │             v48                                                              │

23:19:41 #14158 [Debug] > │         | US2_1(v8, v9) -> (* Some *)                                        │

23:19:41 #14159 [Debug] > │             v9                                                               │

23:19:41 #14160 [Debug] > │     match v5 with                                                            │

23:19:41 #14161 [Debug] > │     | US0_1(v53, v54, v55, v56, v57, v58, v59, v60, v61) -> (* Some *)       │

23:19:41 #14162 [Debug] > │         match v52 with                                                       │

23:19:41 #14163 [Debug] > │         | US0_1(v62, v63, v64, v65, v66, v67, v68, v69, v70) -> (* Some *)   │

23:19:41 #14164 [Debug] > │             let v71 : float = v0 * v68                                       │

23:19:41 #14165 [Debug] > │             let v72 : float = v0 * v69                                       │

23:19:41 #14166 [Debug] > │             let v73 : float = v0 * v70                                       │

23:19:41 #14167 [Debug] > │             let v74 : float = v55 + v71                                      │

23:19:41 #14168 [Debug] > │             let v75 : float = v56 + v72                                      │

23:19:41 #14169 [Debug] > │             let v76 : float = v57 + v73                                      │

23:19:41 #14170 [Debug] > │             US0_1(v62, v63, v74, v75, v76, v67, v68, v69, v70)               │

23:19:41 #14171 [Debug] > │         | _ ->                                                               │

23:19:41 #14172 [Debug] > │             US0_0                                                            │

23:19:41 #14173 [Debug] > │     | _ ->                                                                   │

23:19:41 #14174 [Debug] > │         US0_0                                                                │

23:19:41 #14175 [Debug] > │ and closure2 (v0 : float, v1 : ((int32 -> US0) -> (int32 -> US1))) (v2 :     │

23:19:41 #14176 [Debug] > │ (int32 -> US0)) : (int32 -> US0) =                                           │

23:19:41 #14177 [Debug] > │     let v3 : (int32 -> US1) = v1 v2                                          │

23:19:41 #14178 [Debug] > │     let v4 : UH0 = UH0_1                                                     │

23:19:41 #14179 [Debug] > │     let v5 : Mut0 = {l0 = v4} : Mut0                                         │

23:19:41 #14180 [Debug] > │     let v6 : (int32 -> US0) = closure3(v0, v2, v3, v5)                       │

23:19:41 #14181 [Debug] > │     v6                                                                       │

23:19:41 #14182 [Debug] > │ and closure1 (v0 : float) (v1 : ((int32 -> US0) -> (int32 -> US1))) :        │

23:19:41 #14183 [Debug] > │ ((int32 -> US0) -> (int32 -> US0)) =                                         │

23:19:41 #14184 [Debug] > │     closure2(v0, v1)                                                         │

23:19:41 #14185 [Debug] > │ and closure0 () (v0 : float) : (((int32 -> US0) -> (int32 -> US1)) ->        │

23:19:41 #14186 [Debug] > │ ((int32 -> US0) -> (int32 -> US0))) =                                        │

23:19:41 #14187 [Debug] > │     closure1(v0)                                                             │

23:19:41 #14188 [Debug] > │ and closure6 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │

23:19:41 #14189 [Debug] > │ : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 :       │

23:19:41 #14190 [Debug] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16  │

23:19:41 #14191 [Debug] > │ : float, v17 : float) : struct (float * float * float) =                     │

23:19:41 #14192 [Debug] > │     let v18 : float = -1.0 * v2                                              │

23:19:41 #14193 [Debug] > │     let v19 : float = -1.0 * v3                                              │

23:19:41 #14194 [Debug] > │     let v20 : float = -1.0 * v4                                              │

23:19:41 #14195 [Debug] > │     let v21 : float = v11 + v18                                              │

23:19:41 #14196 [Debug] > │     let v22 : float = v12 + v19                                              │

23:19:41 #14197 [Debug] > │     let v23 : float = v13 + v20                                              │

23:19:41 #14198 [Debug] > │     let v24 : float = v21 * v21                                              │

23:19:41 #14199 [Debug] > │     let v25 : float = v22 * v22                                              │

23:19:41 #14200 [Debug] > │     let v26 : float = v24 + v25                                              │

23:19:41 #14201 [Debug] > │     let v27 : float = v23 * v23                                              │

23:19:41 #14202 [Debug] > │     let v28 : float = v26 + v27                                              │

23:19:41 #14203 [Debug] > │     let v29 : float = sqrt v28                                               │

23:19:41 #14204 [Debug] > │     let v30 : bool = v29 >= 0.06                                             │

23:19:41 #14205 [Debug] > │     let v33 : float =                                                        │

23:19:41 #14206 [Debug] > │         if v30 then                                                          │

23:19:41 #14207 [Debug] > │             0.0                                                              │

23:19:41 #14208 [Debug] > │         else                                                                 │

23:19:41 #14209 [Debug] > │             let v31 : float = v29 - 0.06                                     │

23:19:41 #14210 [Debug] > │             let v32 : float = -30.0 * v31                                    │

23:19:41 #14211 [Debug] > │             v32                                                              │

23:19:41 #14212 [Debug] > │     let v34 : float = v33 * v21                                              │

23:19:41 #14213 [Debug] > │     let v35 : float = v33 * v22                                              │

23:19:41 #14214 [Debug] > │     let v36 : float = v33 * v23                                              │

23:19:41 #14215 [Debug] > │     let v37 : float = v34 / v29                                              │

23:19:41 #14216 [Debug] > │     let v38 : float = v35 / v29                                              │

23:19:41 #14217 [Debug] > │     let v39 : float = v36 / v29                                              │

23:19:41 #14218 [Debug] > │     struct (v37, v38, v39)                                                   │

23:19:41 #14219 [Debug] > │ and closure7 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │

23:19:41 #14220 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float *     │

23:19:41 #14221 [Debug] > │ float * float) =                                                             │

23:19:41 #14222 [Debug] > │     struct (0.0, 0.0, 0.0)                                                   │

23:19:41 #14223 [Debug] > │ and method2 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5  │

23:19:41 #14224 [Debug] > │ : float, v6 : float, v7 : float, v8 : float, v9 : UH1, v10 : UH2) : UH2 =    │

23:19:41 #14225 [Debug] > │     match v9 with                                                            │

23:19:41 #14226 [Debug] > │     | UH1_0(v11, v12) -> (* Cons *)                                          │

23:19:41 #14227 [Debug] > │         let v13 : UH2 = method2(v0, v1, v2, v3, v4, v5, v6, v7, v8, v12,     │

23:19:41 #14228 [Debug] > │ v10)                                                                         │

23:19:41 #14229 [Debug] > │         let struct (v14 : float, v15 : float, v16 : float) = v11 struct (v0, │

23:19:41 #14230 [Debug] > │ v1, v2, v3, v4, v5, v6, v7, v8)                                              │

23:19:41 #14231 [Debug] > │         UH2_0(v14, v15, v16, v13)                                            │

23:19:41 #14232 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:41 #14233 [Debug] > │         v10                                                                  │

23:19:41 #14234 [Debug] > │ and method3 (v0 : UH2, v1 : float, v2 : float, v3 : float) : struct (float * │

23:19:41 #14235 [Debug] > │ float * float) =                                                             │

23:19:41 #14236 [Debug] > │     match v0 with                                                            │

23:19:41 #14237 [Debug] > │     | UH2_0(v4, v5, v6, v7) -> (* Cons *)                                    │

23:19:41 #14238 [Debug] > │         let v8 : float = v1 + v4                                             │

23:19:41 #14239 [Debug] > │         let v9 : float = v2 + v5                                             │

23:19:41 #14240 [Debug] > │         let v10 : float = v3 + v6                                            │

23:19:41 #14241 [Debug] > │         method3(v7, v8, v9, v10)                                             │

23:19:41 #14242 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:41 #14243 [Debug] > │         struct (v1, v2, v3)                                                  │

23:19:41 #14244 [Debug] > │ and closure5 (v0 : (int32 -> US0)) (v1 : int32) : US1 =                      │

23:19:41 #14245 [Debug] > │     let v2 : US0 = v0 v1                                                     │

23:19:41 #14246 [Debug] > │     let v3 : bool = v1 = 0                                                   │

23:19:41 #14247 [Debug] > │     let v38 : US3 =                                                          │

23:19:41 #14248 [Debug] > │         if v3 then                                                           │

23:19:41 #14249 [Debug] > │             let v4 : US0 = v0 1                                              │

23:19:41 #14250 [Debug] > │             match v4 with                                                    │

23:19:41 #14251 [Debug] > │             | US0_0 -> (* None *)                                            │

23:19:41 #14252 [Debug] > │                 US3_0                                                        │

23:19:41 #14253 [Debug] > │             | US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Some *)    │

23:19:41 #14254 [Debug] > │                 let v14 : (struct (float * float * float * float * float *   │

23:19:41 #14255 [Debug] > │ float * float * float * float) -> struct (float * float * float)) =          │

23:19:41 #14256 [Debug] > │ closure6(v5, v6, v7, v8, v9, v10, v11, v12, v13)                             │

23:19:41 #14257 [Debug] > │                 US3_1(v14)                                                   │

23:19:41 #14258 [Debug] > │         else                                                                 │

23:19:41 #14259 [Debug] > │             let v19 : bool = v1 = 1                                          │

23:19:41 #14260 [Debug] > │             if v19 then                                                      │

23:19:41 #14261 [Debug] > │                 let v20 : US0 = v0 0                                         │

23:19:41 #14262 [Debug] > │                 match v20 with                                               │

23:19:41 #14263 [Debug] > │                 | US0_0 -> (* None *)                                        │

23:19:41 #14264 [Debug] > │                     US3_0                                                    │

23:19:41 #14265 [Debug] > │                 | US0_1(v21, v22, v23, v24, v25, v26, v27, v28, v29) -> (*   │

23:19:41 #14266 [Debug] > │ Some *)                                                                      │

23:19:41 #14267 [Debug] > │                     let v30 : (struct (float * float * float * float * float │

23:19:41 #14268 [Debug] > │ * float * float * float * float) -> struct (float * float * float)) =        │

23:19:41 #14269 [Debug] > │ closure6(v21, v22, v23, v24, v25, v26, v27, v28, v29)                        │

23:19:41 #14270 [Debug] > │                     US3_1(v30)                                               │

23:19:41 #14271 [Debug] > │             else                                                             │

23:19:41 #14272 [Debug] > │                 let v35 : (struct (float * float * float * float * float *   │

23:19:41 #14273 [Debug] > │ float * float * float * float) -> struct (float * float * float)) =          │

23:19:41 #14274 [Debug] > │ closure7()                                                                   │

23:19:41 #14275 [Debug] > │                 US3_1(v35)                                                   │

23:19:41 #14276 [Debug] > │     let v44 : UH1 =                                                          │

23:19:41 #14277 [Debug] > │         match v38 with                                                       │

23:19:41 #14278 [Debug] > │         | US3_0 -> (* None *)                                                │

23:19:41 #14279 [Debug] > │             UH1_1                                                            │

23:19:41 #14280 [Debug] > │         | US3_1(v39) -> (* Some *)                                           │

23:19:41 #14281 [Debug] > │             let v40 : UH1 = UH1_1                                            │

23:19:41 #14282 [Debug] > │             UH1_0(v39, v40)                                                  │

23:19:41 #14283 [Debug] > │     match v2 with                                                            │

23:19:41 #14284 [Debug] > │     | US0_0 -> (* None *)                                                    │

23:19:41 #14285 [Debug] > │         US1_0                                                                │

23:19:41 #14286 [Debug] > │     | US0_1(v45, v46, v47, v48, v49, v50, v51, v52, v53) -> (* Some *)       │

23:19:41 #14287 [Debug] > │         let v54 : UH2 = UH2_1                                                │

23:19:41 #14288 [Debug] > │         let v55 : UH2 = method2(v45, v46, v47, v48, v49, v50, v51, v52, v53, │

23:19:41 #14289 [Debug] > │ v44, v54)                                                                    │

23:19:41 #14290 [Debug] > │         let v56 : float = 0.0                                                │

23:19:41 #14291 [Debug] > │         let v57 : float = 0.0                                                │

23:19:41 #14292 [Debug] > │         let v58 : float = 0.0                                                │

23:19:41 #14293 [Debug] > │         let struct (v59 : float, v60 : float, v61 : float) = method3(v55,    │

23:19:41 #14294 [Debug] > │ v56, v57, v58)                                                               │

23:19:41 #14295 [Debug] > │         let v62 : float = v59 / v46                                          │

23:19:41 #14296 [Debug] > │         let v63 : float = v60 / v46                                          │

23:19:41 #14297 [Debug] > │         let v64 : float = v61 / v46                                          │

23:19:41 #14298 [Debug] > │         US1_1(0.0, 0.0, v51, v52, v53, 1.0, v62, v63, v64)                   │

23:19:41 #14299 [Debug] > │ and closure4 () (v0 : (int32 -> US0)) : (int32 -> US1) =                     │

23:19:41 #14300 [Debug] > │     let v1 : (int32 -> US1) = closure5(v0)                                   │

23:19:41 #14301 [Debug] > │     v1                                                                       │

23:19:41 #14302 [Debug] > │ and closure8 () (v0 : int32) : US0 =                                         │

23:19:41 #14303 [Debug] > │     let v1 : bool = v0 = 0                                                   │

23:19:41 #14304 [Debug] > │     if v1 then                                                               │

23:19:41 #14305 [Debug] > │         US0_1(0.0, 0.16, 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.0)                  │

23:19:41 #14306 [Debug] > │     else                                                                     │

23:19:41 #14307 [Debug] > │         let v3 : int32 = v0 - 1                                              │

23:19:41 #14308 [Debug] > │         let v4 : bool = v3 = 0                                               │

23:19:41 #14309 [Debug] > │         if v4 then                                                           │

23:19:41 #14310 [Debug] > │             US0_1(0.0, 0.16, 1.0, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0)             │

23:19:41 #14311 [Debug] > │         else                                                                 │

23:19:41 #14312 [Debug] > │             let v6 : int32 = v3 - 1                                          │

23:19:41 #14313 [Debug] > │             US0_0                                                            │

23:19:41 #14314 [Debug] > │ and closure9 (v0 : (int32 -> US0), v1 : Mut0) (v2 : int32) : US0 =           │

23:19:41 #14315 [Debug] > │     let v3 : UH0 = v1.l0                                                     │

23:19:41 #14316 [Debug] > │     let v4 : US2 = method1(v2, v3)                                           │

23:19:41 #14317 [Debug] > │     match v4 with                                                            │

23:19:41 #14318 [Debug] > │     | US2_0 -> (* None *)                                                    │

23:19:41 #14319 [Debug] > │         let v7 : US0 = v0 v2                                                 │

23:19:41 #14320 [Debug] > │         let v8 : UH0 = v1.l0                                                 │

23:19:41 #14321 [Debug] > │         let v9 : UH0 = UH0_0(v2, v7, v8)                                     │

23:19:41 #14322 [Debug] > │         v1.l0 <- v9                                                          │

23:19:41 #14323 [Debug] > │         v7                                                                   │

23:19:41 #14324 [Debug] > │     | US2_1(v5, v6) -> (* Some *)                                            │

23:19:41 #14325 [Debug] > │         v6                                                                   │

23:19:41 #14326 [Debug] > │ and method5 (v0 : ((int32 -> US0) -> (int32 -> US0)), v1 : (int32 -> US0),   │

23:19:41 #14327 [Debug] > │ v2 : int32) : (int32 -> US0) =                                               │

23:19:41 #14328 [Debug] > │     let v3 : bool = v2 <= 0                                                  │

23:19:41 #14329 [Debug] > │     if v3 then                                                               │

23:19:41 #14330 [Debug] > │         v1                                                                   │

23:19:41 #14331 [Debug] > │     else                                                                     │

23:19:41 #14332 [Debug] > │         let v4 : UH0 = UH0_1                                                 │

23:19:41 #14333 [Debug] > │         let v5 : Mut0 = {l0 = v4} : Mut0                                     │

23:19:41 #14334 [Debug] > │         let v6 : (int32 -> US0) = closure9(v1, v5)                           │

23:19:41 #14335 [Debug] > │         let v7 : (int32 -> US0) = v0 v6                                      │

23:19:41 #14336 [Debug] > │         let v8 : int32 = v2 - 1                                              │

23:19:41 #14337 [Debug] > │         method5(v0, v7, v8)                                                  │

23:19:41 #14338 [Debug] > │ and method6 (v0 : UH3, v1 : UH3) : UH3 =                                     │

23:19:41 #14339 [Debug] > │     match v0 with                                                            │

23:19:41 #14340 [Debug] > │     | UH3_0(v2, v3) -> (* Cons *)                                            │

23:19:41 #14341 [Debug] > │         let v4 : UH3 = UH3_0(v2, v1)                                         │

23:19:41 #14342 [Debug] > │         method6(v3, v4)                                                      │

23:19:41 #14343 [Debug] > │     | UH3_1 -> (* Nil *)                                                     │

23:19:41 #14344 [Debug] > │         v1                                                                   │

23:19:41 #14345 [Debug] > │ and method4 (v0 : ((int32 -> US0) -> (int32 -> US0)), v1 : UH3, v2 : int32)  │

23:19:41 #14346 [Debug] > │ : UH3 =                                                                      │

23:19:41 #14347 [Debug] > │     let v3 : (int32 -> US0) = closure8()                                     │

23:19:41 #14348 [Debug] > │     let v4 : (int32 -> US0) = method5(v0, v3, v2)                            │

23:19:41 #14349 [Debug] > │     let v5 : US0 = v4 0                                                      │

23:19:41 #14350 [Debug] > │     let v17 : bool =                                                         │

23:19:41 #14351 [Debug] > │         match v5 with                                                        │

23:19:41 #14352 [Debug] > │         | US0_0 -> (* None *)                                                │

23:19:41 #14353 [Debug] > │             false                                                            │

23:19:41 #14354 [Debug] > │         | US0_1(v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Some *)       │

23:19:41 #14355 [Debug] > │             let v15 : bool = v11 <= 10.0                                     │

23:19:41 #14356 [Debug] > │             v15                                                              │

23:19:41 #14357 [Debug] > │     if v17 then                                                              │

23:19:41 #14358 [Debug] > │         let v18 : UH3 = UH3_0(v4, v1)                                        │

23:19:41 #14359 [Debug] > │         let v19 : int32 = v2 + 1                                             │

23:19:41 #14360 [Debug] > │         method4(v0, v18, v19)                                                │

23:19:41 #14361 [Debug] > │     else                                                                     │

23:19:41 #14362 [Debug] > │         let v21 : UH3 = UH3_1                                                │

23:19:41 #14363 [Debug] > │         method6(v1, v21)                                                     │

23:19:41 #14364 [Debug] > │ and method8 (v0 : (int32 -> US0), v1 : float, v2 : int32) : float =          │

23:19:41 #14365 [Debug] > │     let v3 : US0 = v0 v2                                                     │

23:19:41 #14366 [Debug] > │     let v25 : US5 =                                                          │

23:19:41 #14367 [Debug] > │         match v3 with                                                        │

23:19:41 #14368 [Debug] > │         | US0_0 -> (* None *)                                                │

23:19:41 #14369 [Debug] > │             US5_0                                                            │

23:19:41 #14370 [Debug] > │         | US0_1(v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Some *)         │

23:19:41 #14371 [Debug] > │             let v13 : float = v10 * v10                                      │

23:19:41 #14372 [Debug] > │             let v14 : float = v11 * v11                                      │

23:19:41 #14373 [Debug] > │             let v15 : float = v13 + v14                                      │

23:19:41 #14374 [Debug] > │             let v16 : float = v12 * v12                                      │

23:19:41 #14375 [Debug] > │             let v17 : float = v15 + v16                                      │

23:19:41 #14376 [Debug] > │             let v18 : float = sqrt v17                                       │

23:19:41 #14377 [Debug] > │             let v19 : float = 0.5 * v5                                       │

23:19:41 #14378 [Debug] > │             let v20 : float = v18 ** 2.0                                     │

23:19:41 #14379 [Debug] > │             let v21 : float = v19 * v20                                      │

23:19:41 #14380 [Debug] > │             US5_1(v21)                                                       │

23:19:41 #14381 [Debug] > │     match v25 with                                                           │

23:19:41 #14382 [Debug] > │     | US5_0 -> (* None *)                                                    │

23:19:41 #14383 [Debug] > │         v1                                                                   │

23:19:41 #14384 [Debug] > │     | US5_1(v26) -> (* Some *)                                               │

23:19:41 #14385 [Debug] > │         let v27 : float = v1 + v26                                           │

23:19:41 #14386 [Debug] > │         let v28 : int32 = v2 + 1                                             │

23:19:41 #14387 [Debug] > │         method8(v0, v27, v28)                                                │

23:19:41 #14388 [Debug] > │ and method7 (v0 : UH3, v1 : UH4) : UH4 =                                     │

23:19:41 #14389 [Debug] > │     match v0 with                                                            │

23:19:41 #14390 [Debug] > │     | UH3_0(v2, v3) -> (* Cons *)                                            │

23:19:41 #14391 [Debug] > │         let v4 : UH4 = method7(v3, v1)                                       │

23:19:41 #14392 [Debug] > │         let v5 : US0 = v2 0                                                  │

23:19:41 #14393 [Debug] > │         let v21 : US4 =                                                      │

23:19:41 #14394 [Debug] > │             match v5 with                                                    │

23:19:41 #14395 [Debug] > │             | US0_0 -> (* None *)                                            │

23:19:41 #14396 [Debug] > │                 US4_0                                                        │

23:19:41 #14397 [Debug] > │             | US0_1(v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Some *)   │

23:19:41 #14398 [Debug] > │                 let v15 : float = 0.0                                        │

23:19:41 #14399 [Debug] > │                 let v16 : int32 = 0                                          │

23:19:41 #14400 [Debug] > │                 let v17 : float = method8(v2, v15, v16)                      │

23:19:41 #14401 [Debug] > │                 US4_1(v11, v17)                                              │

23:19:41 #14402 [Debug] > │         UH4_0(v21, v4)                                                       │

23:19:41 #14403 [Debug] > │     | UH3_1 -> (* Nil *)                                                     │

23:19:41 #14404 [Debug] > │         v1                                                                   │

23:19:41 #14405 [Debug] > │ and method9 (v0 : UH4, v1 : UH5) : UH5 =                                     │

23:19:41 #14406 [Debug] > │     match v0 with                                                            │

23:19:41 #14407 [Debug] > │     | UH4_0(v2, v3) -> (* Cons *)                                            │

23:19:41 #14408 [Debug] > │         let v4 : UH5 = method9(v3, v1)                                       │

23:19:41 #14409 [Debug] > │         match v2 with                                                        │

23:19:41 #14410 [Debug] > │         | US4_0 -> (* None *)                                                │

23:19:41 #14411 [Debug] > │             v4                                                               │

23:19:41 #14412 [Debug] > │         | US4_1(v5, v6) -> (* Some *)                                        │

23:19:41 #14413 [Debug] > │             UH5_0(v5, v6, v4)                                                │

23:19:41 #14414 [Debug] > │     | UH4_1 -> (* Nil *)                                                     │

23:19:41 #14415 [Debug] > │         v1                                                                   │

23:19:41 #14416 [Debug] > │ and method10 (v0 : UH5, v1 : UH6, v2 : UH6) : struct (UH6 * UH6) =           │

23:19:41 #14417 [Debug] > │     match v0 with                                                            │

23:19:41 #14418 [Debug] > │     | UH5_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:41 #14419 [Debug] > │         let v6 : UH6 = UH6_0(v3, v1)                                         │

23:19:41 #14420 [Debug] > │         let v7 : UH6 = UH6_0(v4, v2)                                         │

23:19:41 #14421 [Debug] > │         method10(v5, v6, v7)                                                 │

23:19:41 #14422 [Debug] > │     | UH5_1 -> (* Nil *)                                                     │

23:19:41 #14423 [Debug] > │         struct (v1, v2)                                                      │

23:19:41 #14424 [Debug] > │ and method11 (v0 : UH6, v1 : UH6) : UH6 =                                    │

23:19:41 #14425 [Debug] > │     match v0 with                                                            │

23:19:41 #14426 [Debug] > │     | UH6_0(v2, v3) -> (* Cons *)                                            │

23:19:41 #14427 [Debug] > │         let v4 : UH6 = UH6_0(v2, v1)                                         │

23:19:41 #14428 [Debug] > │         method11(v3, v4)                                                     │

23:19:41 #14429 [Debug] > │     | UH6_1 -> (* Nil *)                                                     │

23:19:41 #14430 [Debug] > │         v1                                                                   │

23:19:41 #14431 [Debug] > │ and closure13 (v0 : float, v1 : (int32 -> US1), v2 : (int32 -> US0), v3 :    │

23:19:41 #14432 [Debug] > │ Mut0) (v4 : int32) : US0 =                                                   │

23:19:41 #14433 [Debug] > │     let v5 : UH0 = v3.l0                                                     │

23:19:41 #14434 [Debug] > │     let v6 : US2 = method1(v4, v5)                                           │

23:19:41 #14435 [Debug] > │     match v6 with                                                            │

23:19:41 #14436 [Debug] > │     | US2_0 -> (* None *)                                                    │

23:19:41 #14437 [Debug] > │         let v9 : US1 = v1 v4                                                 │

23:19:41 #14438 [Debug] > │         let v10 : US0 = v2 v4                                                │

23:19:41 #14439 [Debug] > │         let v47 : US0 =                                                      │

23:19:41 #14440 [Debug] > │             match v9 with                                                    │

23:19:41 #14441 [Debug] > │             | US1_1(v11, v12, v13, v14, v15, v16, v17, v18, v19) -> (* Some  │

23:19:41 #14442 [Debug] > │ *)                                                                           │

23:19:41 #14443 [Debug] > │                 match v10 with                                               │

23:19:41 #14444 [Debug] > │                 | US0_1(v20, v21, v22, v23, v24, v25, v26, v27, v28) -> (*   │

23:19:41 #14445 [Debug] > │ Some *)                                                                      │

23:19:41 #14446 [Debug] > │                     let v29 : float = v16 * v0                               │

23:19:41 #14447 [Debug] > │                     let v30 : float = v25 + v29                              │

23:19:41 #14448 [Debug] > │                     let v31 : float = v0 * v13                               │

23:19:41 #14449 [Debug] > │                     let v32 : float = v0 * v14                               │

23:19:41 #14450 [Debug] > │                     let v33 : float = v0 * v15                               │

23:19:41 #14451 [Debug] > │                     let v34 : float = v22 + v31                              │

23:19:41 #14452 [Debug] > │                     let v35 : float = v23 + v32                              │

23:19:41 #14453 [Debug] > │                     let v36 : float = v24 + v33                              │

23:19:41 #14454 [Debug] > │                     let v37 : float = v0 * v17                               │

23:19:41 #14455 [Debug] > │                     let v38 : float = v0 * v18                               │

23:19:41 #14456 [Debug] > │                     let v39 : float = v0 * v19                               │

23:19:41 #14457 [Debug] > │                     let v40 : float = v26 + v37                              │

23:19:41 #14458 [Debug] > │                     let v41 : float = v27 + v38                              │

23:19:41 #14459 [Debug] > │                     let v42 : float = v28 + v39                              │

23:19:41 #14460 [Debug] > │                     US0_1(v20, v21, v34, v35, v36, v30, v40, v41, v42)       │

23:19:41 #14461 [Debug] > │                 | _ ->                                                       │

23:19:41 #14462 [Debug] > │                     US0_0                                                    │

23:19:41 #14463 [Debug] > │             | _ ->                                                           │

23:19:41 #14464 [Debug] > │                 US0_0                                                        │

23:19:41 #14465 [Debug] > │         let v48 : UH0 = v3.l0                                                │

23:19:41 #14466 [Debug] > │         let v49 : UH0 = UH0_0(v4, v47, v48)                                  │

23:19:41 #14467 [Debug] > │         v3.l0 <- v49                                                         │

23:19:41 #14468 [Debug] > │         v47                                                                  │

23:19:41 #14469 [Debug] > │     | US2_1(v7, v8) -> (* Some *)                                            │

23:19:41 #14470 [Debug] > │         v8                                                                   │

23:19:41 #14471 [Debug] > │ and closure14 (v0 : float, v1 : (int32 -> US1), v2 : (int32 -> US1), v3 :    │

23:19:41 #14472 [Debug] > │ (int32 -> US1), v4 : (int32 -> US1), v5 : (int32 -> US0), v6 : Mut0) (v7 :   │

23:19:41 #14473 [Debug] > │ int32) : US0 =                                                               │

23:19:41 #14474 [Debug] > │     let v8 : UH0 = v6.l0                                                     │

23:19:41 #14475 [Debug] > │     let v9 : US2 = method1(v7, v8)                                           │

23:19:41 #14476 [Debug] > │     match v9 with                                                            │

23:19:41 #14477 [Debug] > │     | US2_0 -> (* None *)                                                    │

23:19:41 #14478 [Debug] > │         let v12 : US1 = v1 v7                                                │

23:19:41 #14479 [Debug] > │         let v13 : US1 = v2 v7                                                │

23:19:41 #14480 [Debug] > │         let v45 : US1 =                                                      │

23:19:41 #14481 [Debug] > │             match v12 with                                                   │

23:19:41 #14482 [Debug] > │             | US1_1(v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Some  │

23:19:41 #14483 [Debug] > │ *)                                                                           │

23:19:41 #14484 [Debug] > │                 match v13 with                                               │

23:19:41 #14485 [Debug] > │                 | US1_1(v23, v24, v25, v26, v27, v28, v29, v30, v31) -> (*   │

23:19:41 #14486 [Debug] > │ Some *)                                                                      │

23:19:41 #14487 [Debug] > │                     let v32 : float = v14 + v23                              │

23:19:41 #14488 [Debug] > │                     let v33 : float = v15 + v24                              │

23:19:41 #14489 [Debug] > │                     let v34 : float = v19 + v28                              │

23:19:41 #14490 [Debug] > │                     let v35 : float = v16 + v25                              │

23:19:41 #14491 [Debug] > │                     let v36 : float = v17 + v26                              │

23:19:41 #14492 [Debug] > │                     let v37 : float = v18 + v27                              │

23:19:41 #14493 [Debug] > │                     let v38 : float = v20 + v29                              │

23:19:41 #14494 [Debug] > │                     let v39 : float = v21 + v30                              │

23:19:41 #14495 [Debug] > │                     let v40 : float = v22 + v31                              │

23:19:41 #14496 [Debug] > │                     US1_1(v32, v33, v35, v36, v37, v34, v38, v39, v40)       │

23:19:41 #14497 [Debug] > │                 | _ ->                                                       │

23:19:41 #14498 [Debug] > │                     US1_0                                                    │

23:19:41 #14499 [Debug] > │             | _ ->                                                           │

23:19:41 #14500 [Debug] > │                 US1_0                                                        │

23:19:41 #14501 [Debug] > │         let v46 : US1 = v2 v7                                                │

23:19:41 #14502 [Debug] > │         let v78 : US1 =                                                      │

23:19:41 #14503 [Debug] > │             match v45 with                                                   │

23:19:41 #14504 [Debug] > │             | US1_1(v47, v48, v49, v50, v51, v52, v53, v54, v55) -> (* Some  │

23:19:41 #14505 [Debug] > │ *)                                                                           │

23:19:41 #14506 [Debug] > │                 match v46 with                                               │

23:19:41 #14507 [Debug] > │                 | US1_1(v56, v57, v58, v59, v60, v61, v62, v63, v64) -> (*   │

23:19:41 #14508 [Debug] > │ Some *)                                                                      │

23:19:41 #14509 [Debug] > │                     let v65 : float = v47 + v56                              │

23:19:41 #14510 [Debug] > │                     let v66 : float = v48 + v57                              │

23:19:41 #14511 [Debug] > │                     let v67 : float = v52 + v61                              │

23:19:41 #14512 [Debug] > │                     let v68 : float = v49 + v58                              │

23:19:41 #14513 [Debug] > │                     let v69 : float = v50 + v59                              │

23:19:41 #14514 [Debug] > │                     let v70 : float = v51 + v60                              │

23:19:41 #14515 [Debug] > │                     let v71 : float = v53 + v62                              │

23:19:41 #14516 [Debug] > │                     let v72 : float = v54 + v63                              │

23:19:41 #14517 [Debug] > │                     let v73 : float = v55 + v64                              │

23:19:41 #14518 [Debug] > │                     US1_1(v65, v66, v68, v69, v70, v67, v71, v72, v73)       │

23:19:41 #14519 [Debug] > │                 | _ ->                                                       │

23:19:41 #14520 [Debug] > │                     US1_0                                                    │

23:19:41 #14521 [Debug] > │             | _ ->                                                           │

23:19:41 #14522 [Debug] > │                 US1_0                                                        │

23:19:41 #14523 [Debug] > │         let v79 : US1 = v3 v7                                                │

23:19:41 #14524 [Debug] > │         let v111 : US1 =                                                     │

23:19:41 #14525 [Debug] > │             match v78 with                                                   │

23:19:41 #14526 [Debug] > │             | US1_1(v80, v81, v82, v83, v84, v85, v86, v87, v88) -> (* Some  │

23:19:41 #14527 [Debug] > │ *)                                                                           │

23:19:41 #14528 [Debug] > │                 match v79 with                                               │

23:19:41 #14529 [Debug] > │                 | US1_1(v89, v90, v91, v92, v93, v94, v95, v96, v97) -> (*   │

23:19:41 #14530 [Debug] > │ Some *)                                                                      │

23:19:41 #14531 [Debug] > │                     let v98 : float = v80 + v89                              │

23:19:41 #14532 [Debug] > │                     let v99 : float = v81 + v90                              │

23:19:41 #14533 [Debug] > │                     let v100 : float = v85 + v94                             │

23:19:41 #14534 [Debug] > │                     let v101 : float = v82 + v91                             │

23:19:41 #14535 [Debug] > │                     let v102 : float = v83 + v92                             │

23:19:41 #14536 [Debug] > │                     let v103 : float = v84 + v93                             │

23:19:41 #14537 [Debug] > │                     let v104 : float = v86 + v95                             │

23:19:41 #14538 [Debug] > │                     let v105 : float = v87 + v96                             │

23:19:41 #14539 [Debug] > │                     let v106 : float = v88 + v97                             │

23:19:41 #14540 [Debug] > │                     US1_1(v98, v99, v101, v102, v103, v100, v104, v105,      │

23:19:41 #14541 [Debug] > │ v106)                                                                        │

23:19:41 #14542 [Debug] > │                 | _ ->                                                       │

23:19:41 #14543 [Debug] > │                     US1_0                                                    │

23:19:41 #14544 [Debug] > │             | _ ->                                                           │

23:19:41 #14545 [Debug] > │                 US1_0                                                        │

23:19:41 #14546 [Debug] > │         let v112 : US1 = v3 v7                                               │

23:19:41 #14547 [Debug] > │         let v144 : US1 =                                                     │

23:19:41 #14548 [Debug] > │             match v111 with                                                  │

23:19:41 #14549 [Debug] > │             | US1_1(v113, v114, v115, v116, v117, v118, v119, v120, v121) -> │

23:19:41 #14550 [Debug] > │ (* Some *)                                                                   │

23:19:41 #14551 [Debug] > │                 match v112 with                                              │

23:19:41 #14552 [Debug] > │                 | US1_1(v122, v123, v124, v125, v126, v127, v128, v129,      │

23:19:41 #14553 [Debug] > │ v130) -> (* Some *)                                                          │

23:19:41 #14554 [Debug] > │                     let v131 : float = v113 + v122                           │

23:19:41 #14555 [Debug] > │                     let v132 : float = v114 + v123                           │

23:19:41 #14556 [Debug] > │                     let v133 : float = v118 + v127                           │

23:19:41 #14557 [Debug] > │                     let v134 : float = v115 + v124                           │

23:19:41 #14558 [Debug] > │                     let v135 : float = v116 + v125                           │

23:19:41 #14559 [Debug] > │                     let v136 : float = v117 + v126                           │

23:19:41 #14560 [Debug] > │                     let v137 : float = v119 + v128                           │

23:19:41 #14561 [Debug] > │                     let v138 : float = v120 + v129                           │

23:19:41 #14562 [Debug] > │                     let v139 : float = v121 + v130                           │

23:19:41 #14563 [Debug] > │                     US1_1(v131, v132, v134, v135, v136, v133, v137, v138,    │

23:19:41 #14564 [Debug] > │ v139)                                                                        │

23:19:41 #14565 [Debug] > │                 | _ ->                                                       │

23:19:41 #14566 [Debug] > │                     US1_0                                                    │

23:19:41 #14567 [Debug] > │             | _ ->                                                           │

23:19:41 #14568 [Debug] > │                 US1_0                                                        │

23:19:41 #14569 [Debug] > │         let v145 : US1 = v4 v7                                               │

23:19:41 #14570 [Debug] > │         let v177 : US1 =                                                     │

23:19:41 #14571 [Debug] > │             match v144 with                                                  │

23:19:41 #14572 [Debug] > │             | US1_1(v146, v147, v148, v149, v150, v151, v152, v153, v154) -> │

23:19:41 #14573 [Debug] > │ (* Some *)                                                                   │

23:19:41 #14574 [Debug] > │                 match v145 with                                              │

23:19:41 #14575 [Debug] > │                 | US1_1(v155, v156, v157, v158, v159, v160, v161, v162,      │

23:19:41 #14576 [Debug] > │ v163) -> (* Some *)                                                          │

23:19:41 #14577 [Debug] > │                     let v164 : float = v146 + v155                           │

23:19:41 #14578 [Debug] > │                     let v165 : float = v147 + v156                           │

23:19:41 #14579 [Debug] > │                     let v166 : float = v151 + v160                           │

23:19:41 #14580 [Debug] > │                     let v167 : float = v148 + v157                           │

23:19:41 #14581 [Debug] > │                     let v168 : float = v149 + v158                           │

23:19:41 #14582 [Debug] > │                     let v169 : float = v150 + v159                           │

23:19:41 #14583 [Debug] > │                     let v170 : float = v152 + v161                           │

23:19:41 #14584 [Debug] > │                     let v171 : float = v153 + v162                           │

23:19:41 #14585 [Debug] > │                     let v172 : float = v154 + v163                           │

23:19:41 #14586 [Debug] > │                     US1_1(v164, v165, v167, v168, v169, v166, v170, v171,    │

23:19:41 #14587 [Debug] > │ v172)                                                                        │

23:19:41 #14588 [Debug] > │                 | _ ->                                                       │

23:19:41 #14589 [Debug] > │                     US1_0                                                    │

23:19:41 #14590 [Debug] > │             | _ ->                                                           │

23:19:41 #14591 [Debug] > │                 US1_0                                                        │

23:19:41 #14592 [Debug] > │         let v178 : US0 = v5 v7                                               │

23:19:41 #14593 [Debug] > │         let v215 : US0 =                                                     │

23:19:41 #14594 [Debug] > │             match v177 with                                                  │

23:19:41 #14595 [Debug] > │             | US1_1(v179, v180, v181, v182, v183, v184, v185, v186, v187) -> │

23:19:41 #14596 [Debug] > │ (* Some *)                                                                   │

23:19:41 #14597 [Debug] > │                 match v178 with                                              │

23:19:41 #14598 [Debug] > │                 | US0_1(v188, v189, v190, v191, v192, v193, v194, v195,      │

23:19:41 #14599 [Debug] > │ v196) -> (* Some *)                                                          │

23:19:41 #14600 [Debug] > │                     let v197 : float = v184 * v0                             │

23:19:41 #14601 [Debug] > │                     let v198 : float = v193 + v197                           │

23:19:41 #14602 [Debug] > │                     let v199 : float = v0 * v181                             │

23:19:41 #14603 [Debug] > │                     let v200 : float = v0 * v182                             │

23:19:41 #14604 [Debug] > │                     let v201 : float = v0 * v183                             │

23:19:41 #14605 [Debug] > │                     let v202 : float = v190 + v199                           │

23:19:41 #14606 [Debug] > │                     let v203 : float = v191 + v200                           │

23:19:41 #14607 [Debug] > │                     let v204 : float = v192 + v201                           │

23:19:41 #14608 [Debug] > │                     let v205 : float = v0 * v185                             │

23:19:41 #14609 [Debug] > │                     let v206 : float = v0 * v186                             │

23:19:41 #14610 [Debug] > │                     let v207 : float = v0 * v187                             │

23:19:41 #14611 [Debug] > │                     let v208 : float = v194 + v205                           │

23:19:41 #14612 [Debug] > │                     let v209 : float = v195 + v206                           │

23:19:41 #14613 [Debug] > │                     let v210 : float = v196 + v207                           │

23:19:41 #14614 [Debug] > │                     US0_1(v188, v189, v202, v203, v204, v198, v208, v209,    │

23:19:41 #14615 [Debug] > │ v210)                                                                        │

23:19:41 #14616 [Debug] > │                 | _ ->                                                       │

23:19:41 #14617 [Debug] > │                     US0_0                                                    │

23:19:41 #14618 [Debug] > │             | _ ->                                                           │

23:19:41 #14619 [Debug] > │                 US0_0                                                        │

23:19:41 #14620 [Debug] > │         let v216 : UH0 = v6.l0                                               │

23:19:41 #14621 [Debug] > │         let v217 : UH0 = UH0_0(v7, v215, v216)                               │

23:19:41 #14622 [Debug] > │         v6.l0 <- v217                                                        │

23:19:41 #14623 [Debug] > │         v215                                                                 │

23:19:41 #14624 [Debug] > │     | US2_1(v10, v11) -> (* Some *)                                          │

23:19:41 #14625 [Debug] > │         v11                                                                  │

23:19:41 #14626 [Debug] > │ and closure12 (v0 : float, v1 : ((int32 -> US0) -> (int32 -> US1))) (v2 :    │

23:19:41 #14627 [Debug] > │ (int32 -> US0)) : (int32 -> US0) =                                           │

23:19:41 #14628 [Debug] > │     let v3 : (int32 -> US1) = v1 v2                                          │

23:19:41 #14629 [Debug] > │     let v4 : float = v0 / 2.0                                                │

23:19:41 #14630 [Debug] > │     let v5 : UH0 = UH0_1                                                     │

23:19:41 #14631 [Debug] > │     let v6 : Mut0 = {l0 = v5} : Mut0                                         │

23:19:41 #14632 [Debug] > │     let v7 : (int32 -> US0) = closure13(v4, v3, v2, v6)                      │

23:19:41 #14633 [Debug] > │     let v8 : (int32 -> US1) = v1 v7                                          │

23:19:41 #14634 [Debug] > │     let v9 : UH0 = UH0_1                                                     │

23:19:41 #14635 [Debug] > │     let v10 : Mut0 = {l0 = v9} : Mut0                                        │

23:19:41 #14636 [Debug] > │     let v11 : (int32 -> US0) = closure13(v4, v8, v2, v10)                    │

23:19:41 #14637 [Debug] > │     let v12 : (int32 -> US1) = v1 v11                                        │

23:19:41 #14638 [Debug] > │     let v13 : UH0 = UH0_1                                                    │

23:19:41 #14639 [Debug] > │     let v14 : Mut0 = {l0 = v13} : Mut0                                       │

23:19:41 #14640 [Debug] > │     let v15 : (int32 -> US0) = closure13(v0, v12, v2, v14)                   │

23:19:41 #14641 [Debug] > │     let v16 : (int32 -> US1) = v1 v15                                        │

23:19:41 #14642 [Debug] > │     let v17 : float = v0 / 6.0                                               │

23:19:41 #14643 [Debug] > │     let v18 : UH0 = UH0_1                                                    │

23:19:41 #14644 [Debug] > │     let v19 : Mut0 = {l0 = v18} : Mut0                                       │

23:19:41 #14645 [Debug] > │     let v20 : (int32 -> US0) = closure14(v17, v3, v8, v12, v16, v2, v19)     │

23:19:41 #14646 [Debug] > │     v20                                                                      │

23:19:41 #14647 [Debug] > │ and closure11 (v0 : float) (v1 : ((int32 -> US0) -> (int32 -> US1))) :       │

23:19:41 #14648 [Debug] > │ ((int32 -> US0) -> (int32 -> US0)) =                                         │

23:19:41 #14649 [Debug] > │     closure12(v0, v1)                                                        │

23:19:41 #14650 [Debug] > │ and closure10 () (v0 : float) : (((int32 -> US0) -> (int32 -> US1)) ->       │

23:19:41 #14651 [Debug] > │ ((int32 -> US0) -> (int32 -> US0))) =                                        │

23:19:41 #14652 [Debug] > │     closure11(v0)                                                            │

23:19:41 #14653 [Debug] > │ and method12 (v0 : UH3, v1 : UH4) : UH4 =                                    │

23:19:41 #14654 [Debug] > │     match v0 with                                                            │

23:19:41 #14655 [Debug] > │     | UH3_0(v2, v3) -> (* Cons *)                                            │

23:19:41 #14656 [Debug] > │         let v4 : UH4 = method12(v3, v1)                                      │

23:19:41 #14657 [Debug] > │         let v5 : US0 = v2 0                                                  │

23:19:41 #14658 [Debug] > │         let v21 : US4 =                                                      │

23:19:41 #14659 [Debug] > │             match v5 with                                                    │

23:19:41 #14660 [Debug] > │             | US0_0 -> (* None *)                                            │

23:19:41 #14661 [Debug] > │                 US4_0                                                        │

23:19:41 #14662 [Debug] > │             | US0_1(v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Some *)   │

23:19:41 #14663 [Debug] > │                 let v15 : float = 0.0                                        │

23:19:41 #14664 [Debug] > │                 let v16 : int32 = 0                                          │

23:19:41 #14665 [Debug] > │                 let v17 : float = method8(v2, v15, v16)                      │

23:19:41 #14666 [Debug] > │                 US4_1(v11, v17)                                              │

23:19:41 #14667 [Debug] > │         UH4_0(v21, v4)                                                       │

23:19:41 #14668 [Debug] > │     | UH3_1 -> (* Nil *)                                                     │

23:19:41 #14669 [Debug] > │         v1                                                                   │

23:19:41 #14670 [Debug] > │ and method14 (v0 : UH6, v1 : int32) : int32 =                                │

23:19:41 #14671 [Debug] > │     match v0 with                                                            │

23:19:41 #14672 [Debug] > │     | UH6_0(v2, v3) -> (* Cons *)                                            │

23:19:41 #14673 [Debug] > │         let v4 : int32 = v1 + 1                                              │

23:19:41 #14674 [Debug] > │         method14(v3, v4)                                                     │

23:19:41 #14675 [Debug] > │     | UH6_1 -> (* Nil *)                                                     │

23:19:41 #14676 [Debug] > │         v1                                                                   │

23:19:41 #14677 [Debug] > │ and method15 (v0 : (float []), v1 : UH6, v2 : int32) : int32 =               │

23:19:41 #14678 [Debug] > │     match v1 with                                                            │

23:19:41 #14679 [Debug] > │     | UH6_0(v3, v4) -> (* Cons *)                                            │

23:19:41 #14680 [Debug] > │         v0.[int v2] <- v3                                                    │

23:19:41 #14681 [Debug] > │         let v5 : int32 = v2 + 1                                              │

23:19:41 #14682 [Debug] > │         method15(v0, v4, v5)                                                 │

23:19:41 #14683 [Debug] > │     | UH6_1 -> (* Nil *)                                                     │

23:19:41 #14684 [Debug] > │         v2                                                                   │

23:19:41 #14685 [Debug] > │ and method13 (v0 : UH6) : (float []) =                                       │

23:19:41 #14686 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:41 #14687 [Debug] > │     let v2 : int32 = method14(v0, v1)                                        │

23:19:41 #14688 [Debug] > │     let v3 : (float []) = Array.zeroCreate<float> (v2)                       │

23:19:41 #14689 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:41 #14690 [Debug] > │     let v5 : int32 = method15(v3, v0, v4)                                    │

23:19:41 #14691 [Debug] > │     v3                                                                       │

23:19:41 #14692 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:41 #14693 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:41 #14694 [Debug] > │     let v0 : (float -> (((int32 -> US0) -> (int32 -> US1)) -> ((int32 ->     │

23:19:41 #14695 [Debug] > │ US0) -> (int32 -> US0)))) = closure0()                                       │

23:19:41 #14696 [Debug] > │     let v1 : (((int32 -> US0) -> (int32 -> US1)) -> ((int32 -> US0) ->       │

23:19:41 #14697 [Debug] > │ (int32 -> US0))) = v0 0.03                                                   │

23:19:41 #14698 [Debug] > │     let v2 : ((int32 -> US0) -> (int32 -> US1)) = closure4()                 │

23:19:41 #14699 [Debug] > │     let v3 : ((int32 -> US0) -> (int32 -> US0)) = v1 v2                      │

23:19:41 #14700 [Debug] > │     let v4 : UH3 = UH3_1                                                     │

23:19:41 #14701 [Debug] > │     let v5 : int32 = 0                                                       │

23:19:41 #14702 [Debug] > │     let v6 : UH3 = method4(v3, v4, v5)                                       │

23:19:41 #14703 [Debug] > │     let v7 : UH4 = UH4_1                                                     │

23:19:41 #14704 [Debug] > │     let v8 : UH4 = method7(v6, v7)                                           │

23:19:41 #14705 [Debug] > │     let v9 : UH5 = UH5_1                                                     │

23:19:41 #14706 [Debug] > │     let v10 : UH5 = method9(v8, v9)                                          │

23:19:41 #14707 [Debug] > │     let v11 : UH6 = UH6_1                                                    │

23:19:41 #14708 [Debug] > │     let v12 : UH6 = UH6_1                                                    │

23:19:41 #14709 [Debug] > │     let struct (v13 : UH6, v14 : UH6) = method10(v10, v11, v12)              │

23:19:41 #14710 [Debug] > │     let v15 : UH6 = UH6_1                                                    │

23:19:41 #14711 [Debug] > │     let v16 : UH6 = method11(v13, v15)                                       │

23:19:41 #14712 [Debug] > │     let v17 : UH6 = UH6_1                                                    │

23:19:41 #14713 [Debug] > │     let v18 : UH6 = method11(v14, v17)                                       │

23:19:41 #14714 [Debug] > │     let v19 : (float -> (((int32 -> US0) -> (int32 -> US1)) -> ((int32 ->    │

23:19:41 #14715 [Debug] > │ US0) -> (int32 -> US0)))) = closure10()                                      │

23:19:41 #14716 [Debug] > │     let v20 : (((int32 -> US0) -> (int32 -> US1)) -> ((int32 -> US0) ->      │

23:19:41 #14717 [Debug] > │ (int32 -> US0))) = v19 0.03                                                  │

23:19:41 #14718 [Debug] > │     let v21 : ((int32 -> US0) -> (int32 -> US0)) = v20 v2                    │

23:19:41 #14719 [Debug] > │     let v22 : UH3 = UH3_1                                                    │

23:19:41 #14720 [Debug] > │     let v23 : int32 = 0                                                      │

23:19:41 #14721 [Debug] > │     let v24 : UH3 = method4(v21, v22, v23)                                   │

23:19:41 #14722 [Debug] > │     let v25 : UH4 = UH4_1                                                    │

23:19:41 #14723 [Debug] > │     let v26 : UH4 = method12(v24, v25)                                       │

23:19:41 #14724 [Debug] > │     let v27 : UH5 = UH5_1                                                    │

23:19:41 #14725 [Debug] > │     let v28 : UH5 = method9(v26, v27)                                        │

23:19:41 #14726 [Debug] > │     let v29 : UH6 = UH6_1                                                    │

23:19:41 #14727 [Debug] > │     let v30 : UH6 = UH6_1                                                    │

23:19:41 #14728 [Debug] > │     let struct (v31 : UH6, v32 : UH6) = method10(v28, v29, v30)              │

23:19:41 #14729 [Debug] > │     let v33 : UH6 = UH6_1                                                    │

23:19:41 #14730 [Debug] > │     let v34 : UH6 = method11(v31, v33)                                       │

23:19:41 #14731 [Debug] > │     let v35 : UH6 = UH6_1                                                    │

23:19:41 #14732 [Debug] > │     let v36 : UH6 = method11(v32, v35)                                       │

23:19:41 #14733 [Debug] > │     let v37 : (float []) = method13(v16)                                     │

23:19:41 #14734 [Debug] > │     let v38 : (float []) = method13(v18)                                     │

23:19:41 #14735 [Debug] > │     let v39 : (float []) = method13(v34)                                     │

23:19:41 #14736 [Debug] > │     let v40 : (float []) = method13(v36)                                     │

23:19:41 #14737 [Debug] > │     let v41 : string = "euler-cromer"                                        │

23:19:41 #14738 [Debug] > │     let v42 : string = "runge-kutta 4"                                       │

23:19:41 #14739 [Debug] > │     let v43 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:41 #14740 [Debug] > │ (v41, v37, v38); struct (v42, v39, v40)|]                                    │

23:19:41 #14741 [Debug] > │     let v44 : string = "system kinetic energy versus time"                   │

23:19:41 #14742 [Debug] > │     let v45 : string = "time (s)"                                            │

23:19:41 #14743 [Debug] > │     let v46 : string = "system kinetic energy (j)"                           │

23:19:41 #14744 [Debug] > │     struct (v44, v45, v46, v43)                                              │

23:19:41 #14745 [Debug] > │ method0()                                                                    │

23:19:41 #14746 [Debug] > │                                                                              │

23:19:41 #14747 [Debug] > │                                                                              │

23:19:41 #14748 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:41 #14749 [Debug] >

23:19:41 #14750 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:41 #14751 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:41 #14752 [Debug] > │ ### wave 2                                                                   │

23:19:41 #14753 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:41 #14754 [Debug] >

23:19:41 #14755 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────

23:19:41 #14756 [Debug] > // // test

23:19:41 #14757 [Debug] >

23:19:41 #14758 [Debug] > inl linear_spring k re (particle_state st1) (particle_state st2) =

23:19:41 #14759 [Debug] >     inl r1 = st1.pos_vec

23:19:41 #14760 [Debug] >     inl r2 = st2.pos_vec

23:19:41 #14761 [Debug] >     inl r21 = r2 ^-^ r1

23:19:41 #14762 [Debug] >     inl r21mag = magnitude r21

23:19:41 #14763 [Debug] >     -k * (r21mag - re) *^ r21 ^/ r21mag

23:19:41 #14764 [Debug] >

23:19:41 #14765 [Debug] > inl fixed_linear_spring k re r1 =

23:19:41 #14766 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:41 #14767 [Debug] >     linear_spring k re (particle_state { default_particle_state' with pos_vec =

23:19:41 #14768 [Debug] > r1 })

23:19:41 #14769 [Debug] >

23:19:41 #14770 [Debug] > inl forces_string () =

23:19:41 #14771 [Debug] >     [[

23:19:41 #14772 [Debug] >         ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ()))

23:19:41 #14773 [Debug] >         ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))

23:19:41 #14774 [Debug] >     ]] /@ (

23:19:41 #14775 [Debug] >         listm'.init_series 0 59 1

23:19:41 #14776 [Debug] >         |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))

23:19:41 #14777 [Debug] >     )

23:19:41 #14778 [Debug] >

23:19:41 #14779 [Debug] > inl string_update dt =

23:19:41 #14780 [Debug] >     update_mps (runge_kutta_4 dt) (forces_string ())

23:19:41 #14781 [Debug] >

23:19:41 #14782 [Debug] > inl string_initial_overtone n =

23:19:41 #14783 [Debug] >     inl ball_mass = 0.0008293 * 0.65 / 64

23:19:41 #14784 [Debug] >     inl (particle_state default_particle_state') = default_particle_state ()

23:19:41 #14785 [Debug] >     listm'.init_series 0.01 0.64 0.01

23:19:41 #14786 [Debug] >     |> listm.map (fun x =>

23:19:41 #14787 [Debug] >         inl y = 0.005 * sin (conv n * pi * x / 0.65)

23:19:41 #14788 [Debug] >         particle_state {

23:19:41 #14789 [Debug] >             default_particle_state' with

23:19:41 #14790 [Debug] >                 mass = ball_mass

23:19:41 #14791 [Debug] >                 pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()

23:19:41 #14792 [Debug] >                 velocity = zero_vec ()

23:19:41 #14793 [Debug] >         }

23:19:41 #14794 [Debug] >     )

23:19:41 #14795 [Debug] >     |> seq.from_list

23:19:41 #14796 [Debug] >     |> multi_particle_state

23:19:41 #14797 [Debug] >

23:19:41 #14798 [Debug] > let main () =

23:19:41 #14799 [Debug] >     inl ~frames = listm'.init_series 0 9 1f64

23:19:41 #14800 [Debug] >     inl initial_state : _ f64 = string_initial_overtone 3i32

23:19:41 #14801 [Debug] >     inl frames =

23:19:41 #14802 [Debug] >         frames

23:19:41 #14803 [Debug] >         |> listm.map (fun n =>

23:19:41 #14804 [Debug] >             inl (multi_particle_state sts) =

23:19:41 #14805 [Debug] >                 seq.iterate (string_update 0.000025) initial_state |> fun f => f

23:19:41 #14806 [Debug] > 0f64

23:19:41 #14807 [Debug] >             inl rs =

23:19:41 #14808 [Debug] >                 [[ zero_vec () ]]

23:19:41 #14809 [Debug] >                 /@ (sts |> seq.fold_ (fun acc (particle_state st) => st.pos_vec

23:19:41 #14810 [Debug] > :: acc) [[]] |> listm.rev)

23:19:41 #14811 [Debug] >                 /@ [[ 0.65 *^ i_hat () ]]

23:19:41 #14812 [Debug] >             inl x, y =

23:19:41 #14813 [Debug] >                 rs

23:19:41 #14814 [Debug] >                 |> listm.map (fun r => r.x, r.y)

23:19:41 #14815 [Debug] >                 |> listm'.unzip

23:19:41 #14816 [Debug] >             inl x : a i32 _ = x |> listm.toArray

23:19:41 #14817 [Debug] >             inl y : a i32 _ = y |> listm.toArray

23:19:41 #14818 [Debug] >             x, y

23:19:41 #14819 [Debug] >         )

23:19:41 #14820 [Debug] >         |> listm.toArray : a i32 _

23:19:41 #14821 [Debug] >

23:19:41 #14822 [Debug] >     inl n = 0i32

23:19:41 #14823 [Debug] >

23:19:41 #14824 [Debug] >     inl x, y = index frames n

23:19:41 #14825 [Debug] >

23:19:41 #14826 [Debug] >     "wave",

23:19:41 #14827 [Debug] >     "position (m)",

23:19:41 #14828 [Debug] >     "displacement (m)",

23:19:41 #14829 [Debug] >     ;[[

23:19:41 #14830 [Debug] >         ($"$\"{!n}\"" : string), x, y

23:19:41 #14831 [Debug] >     ]]

23:19:41 #14832 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-4148-4813-4080961cfe4a\main.spi

23:19:42 #14833 [Debug] >

23:19:42 #14834 [Debug] > ╭─[ 631.38ms - return value ]──────────────────────────────────────────────────╮

23:19:42 #14835 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480"                          │

23:19:42 #14836 [Debug] > │ xmlns="http://www.w3.org/2000/svg">                                          │

23:19:42 #14837 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414"        │

23:19:42 #14838 [Debug] > │ stroke="none"/>                                                              │

23:19:42 #14839 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle"                        │

23:19:42 #14840 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #14841 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #14842 [Debug] > │ wave                                                                         │

23:19:42 #14843 [Debug] > │ </text>                                                                      │

23:19:42 #14844 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │

23:19:42 #14845 [Debug] > │ y2="75"/>                                                                    │

23:19:42 #14846 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:42 #14847 [Debug] > │ y2="75"/>                                                                    │

23:19:42 #14848 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │

23:19:42 #14849 [Debug] > │ y2="75"/>                                                                    │

23:19:42 #14850 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │

23:19:42 #14851 [Debug] > │ y2="75"/>                                                                    │

23:19:42 #14852 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │

23:19:42 #14853 [Debug] > │ y2="75"/>                                                                    │

23:19:42 #14854 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424"        │

23:19:42 #14855 [Debug] > │ x2="100" y2="75"/>                                                           │

23:19:42 #14856 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424"        │

23:19:42 #14857 [Debug] > │ x2="108" y2="75"/>                                                           │

23:19:42 #14858 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424"        │

23:19:42 #14859 [Debug] > │ x2="116" y2="75"/>                                                           │

23:19:42 #14860 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424"        │

23:19:42 #14861 [Debug] > │ x2="123" y2="75"/>                                                           │

23:19:42 #14862 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424"        │

23:19:42 #14863 [Debug] > │ x2="131" y2="75"/>                                                           │

23:19:42 #14864 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424"        │

23:19:42 #14865 [Debug] > │ x2="139" y2="75"/>                                                           │

23:19:42 #14866 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424"        │

23:19:42 #14867 [Debug] > │ x2="146" y2="75"/>                                                           │

23:19:42 #14868 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="154" y1="424"        │

23:19:42 #14869 [Debug] > │ x2="154" y2="75"/>                                                           │

23:19:42 #14870 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="162" y1="424"        │

23:19:42 #14871 [Debug] > │ x2="162" y2="75"/>                                                           │

23:19:42 #14872 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424"        │

23:19:42 #14873 [Debug] > │ x2="169" y2="75"/>                                                           │

23:19:42 #14874 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424"        │

23:19:42 #14875 [Debug] > │ x2="177" y2="75"/>                                                           │

23:19:42 #14876 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="185" y1="424"        │

23:19:42 #14877 [Debug] > │ x2="185" y2="75"/>                                                           │

23:19:42 #14878 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="192" y1="424"        │

23:19:42 #14879 [Debug] > │ x2="192" y2="75"/>                                                           │

23:19:42 #14880 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="200" y1="424"        │

23:19:42 #14881 [Debug] > │ x2="200" y2="75"/>                                                           │

23:19:42 #14882 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="208" y1="424"        │

23:19:42 #14883 [Debug] > │ x2="208" y2="75"/>                                                           │

23:19:42 #14884 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="215" y1="424"        │

23:19:42 #14885 [Debug] > │ x2="215" y2="75"/>                                                           │

23:19:42 #14886 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="223" y1="424"        │

23:19:42 #14887 [Debug] > │ x2="223" y2="75"/>                                                           │

23:19:42 #14888 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="231" y1="424"        │

23:19:42 #14889 [Debug] > │ x2="231" y2="75"/>                                                           │

23:19:42 #14890 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="238" y1="424"        │

23:19:42 #14891 [Debug] > │ x2="238" y2="75"/>                                                           │

23:19:42 #14892 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="246" y1="424"        │

23:19:42 #14893 [Debug] > │ x2="246" y2="75"/>                                                           │

23:19:42 #14894 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="254" y1="424"        │

23:19:42 #14895 [Debug] > │ x2="254" y2="75"/>                                                           │

23:19:42 #14896 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424"        │

23:19:42 #14897 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:42 #14898 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424"        │

23:19:42 #14899 [Debug] > │ x2="269" y2="75"/>                                                           │

23:19:42 #14900 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424"        │

23:19:42 #14901 [Debug] > │ x2="277" y2="75"/>                                                           │

23:19:42 #14902 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="284" y1="424"        │

23:19:42 #14903 [Debug] > │ x2="284" y2="75"/>                                                           │

23:19:42 #14904 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="292" y1="424"        │

23:19:42 #14905 [Debug] > │ x2="292" y2="75"/>                                                           │

23:19:42 #14906 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="300" y1="424"        │

23:19:42 #14907 [Debug] > │ x2="300" y2="75"/>                                                           │

23:19:42 #14908 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424"        │

23:19:42 #14909 [Debug] > │ x2="307" y2="75"/>                                                           │

23:19:42 #14910 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="315" y1="424"        │

23:19:42 #14911 [Debug] > │ x2="315" y2="75"/>                                                           │

23:19:42 #14912 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="323" y1="424"        │

23:19:42 #14913 [Debug] > │ x2="323" y2="75"/>                                                           │

23:19:42 #14914 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424"        │

23:19:42 #14915 [Debug] > │ x2="331" y2="75"/>                                                           │

23:19:42 #14916 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="338" y1="424"        │

23:19:42 #14917 [Debug] > │ x2="338" y2="75"/>                                                           │

23:19:42 #14918 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="346" y1="424"        │

23:19:42 #14919 [Debug] > │ x2="346" y2="75"/>                                                           │

23:19:42 #14920 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="354" y1="424"        │

23:19:42 #14921 [Debug] > │ x2="354" y2="75"/>                                                           │

23:19:42 #14922 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424"        │

23:19:42 #14923 [Debug] > │ x2="361" y2="75"/>                                                           │

23:19:42 #14924 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424"        │

23:19:42 #14925 [Debug] > │ x2="369" y2="75"/>                                                           │

23:19:42 #14926 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424"        │

23:19:42 #14927 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:42 #14928 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="384" y1="424"        │

23:19:42 #14929 [Debug] > │ x2="384" y2="75"/>                                                           │

23:19:42 #14930 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="392" y1="424"        │

23:19:42 #14931 [Debug] > │ x2="392" y2="75"/>                                                           │

23:19:42 #14932 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="400" y1="424"        │

23:19:42 #14933 [Debug] > │ x2="400" y2="75"/>                                                           │

23:19:42 #14934 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="407" y1="424"        │

23:19:42 #14935 [Debug] > │ x2="407" y2="75"/>                                                           │

23:19:42 #14936 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="415" y1="424"        │

23:19:42 #14937 [Debug] > │ x2="415" y2="75"/>                                                           │

23:19:42 #14938 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="423" y1="424"        │

23:19:42 #14939 [Debug] > │ x2="423" y2="75"/>                                                           │

23:19:42 #14940 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="430" y1="424"        │

23:19:42 #14941 [Debug] > │ x2="430" y2="75"/>                                                           │

23:19:42 #14942 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="438" y1="424"        │

23:19:42 #14943 [Debug] > │ x2="438" y2="75"/>                                                           │

23:19:42 #14944 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="446" y1="424"        │

23:19:42 #14945 [Debug] > │ x2="446" y2="75"/>                                                           │

23:19:42 #14946 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="453" y1="424"        │

23:19:42 #14947 [Debug] > │ x2="453" y2="75"/>                                                           │

23:19:42 #14948 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="461" y1="424"        │

23:19:42 #14949 [Debug] > │ x2="461" y2="75"/>                                                           │

23:19:42 #14950 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424"        │

23:19:42 #14951 [Debug] > │ x2="469" y2="75"/>                                                           │

23:19:42 #14952 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424"        │

23:19:42 #14953 [Debug] > │ x2="476" y2="75"/>                                                           │

23:19:42 #14954 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="484" y1="424"        │

23:19:42 #14955 [Debug] > │ x2="484" y2="75"/>                                                           │

23:19:42 #14956 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="492" y1="424"        │

23:19:42 #14957 [Debug] > │ x2="492" y2="75"/>                                                           │

23:19:42 #14958 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424"        │

23:19:42 #14959 [Debug] > │ x2="499" y2="75"/>                                                           │

23:19:42 #14960 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="507" y1="424"        │

23:19:42 #14961 [Debug] > │ x2="507" y2="75"/>                                                           │

23:19:42 #14962 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="515" y1="424"        │

23:19:42 #14963 [Debug] > │ x2="515" y2="75"/>                                                           │

23:19:42 #14964 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="522" y1="424"        │

23:19:42 #14965 [Debug] > │ x2="522" y2="75"/>                                                           │

23:19:42 #14966 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="530" y1="424"        │

23:19:42 #14967 [Debug] > │ x2="530" y2="75"/>                                                           │

23:19:42 #14968 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="538" y1="424"        │

23:19:42 #14969 [Debug] > │ x2="538" y2="75"/>                                                           │

23:19:42 #14970 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="545" y1="424"        │

23:19:42 #14971 [Debug] > │ x2="545" y2="75"/>                                                           │

23:19:42 #14972 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="553" y1="424"        │

23:19:42 #14973 [Debug] > │ x2="553" y2="75"/>                                                           │

23:19:42 #14974 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="561" y1="424"        │

23:19:42 #14975 [Debug] > │ x2="561" y2="75"/>                                                           │

23:19:42 #14976 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424"        │

23:19:42 #14977 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:42 #14978 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415"         │

23:19:42 #14979 [Debug] > │ x2="584" y2="415"/>                                                          │

23:19:42 #14980 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="399"         │

23:19:42 #14981 [Debug] > │ x2="584" y2="399"/>                                                          │

23:19:42 #14982 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382"         │

23:19:42 #14983 [Debug] > │ x2="584" y2="382"/>                                                          │

23:19:42 #14984 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="366"         │

23:19:42 #14985 [Debug] > │ x2="584" y2="366"/>                                                          │

23:19:42 #14986 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349"         │

23:19:42 #14987 [Debug] > │ x2="584" y2="349"/>                                                          │

23:19:42 #14988 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="333"         │

23:19:42 #14989 [Debug] > │ x2="584" y2="333"/>                                                          │

23:19:42 #14990 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316"         │

23:19:42 #14991 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:42 #14992 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="300"         │

23:19:42 #14993 [Debug] > │ x2="584" y2="300"/>                                                          │

23:19:42 #14994 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283"         │

23:19:42 #14995 [Debug] > │ x2="584" y2="283"/>                                                          │

23:19:42 #14996 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="267"         │

23:19:42 #14997 [Debug] > │ x2="584" y2="267"/>                                                          │

23:19:42 #14998 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250"         │

23:19:42 #14999 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:42 #15000 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234"         │

23:19:42 #15001 [Debug] > │ x2="584" y2="234"/>                                                          │

23:19:42 #15002 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217"         │

23:19:42 #15003 [Debug] > │ x2="584" y2="217"/>                                                          │

23:19:42 #15004 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201"         │

23:19:42 #15005 [Debug] > │ x2="584" y2="201"/>                                                          │

23:19:42 #15006 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184"         │

23:19:42 #15007 [Debug] > │ x2="584" y2="184"/>                                                          │

23:19:42 #15008 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168"         │

23:19:42 #15009 [Debug] > │ x2="584" y2="168"/>                                                          │

23:19:42 #15010 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151"         │

23:19:42 #15011 [Debug] > │ x2="584" y2="151"/>                                                          │

23:19:42 #15012 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135"         │

23:19:42 #15013 [Debug] > │ x2="584" y2="135"/>                                                          │

23:19:42 #15014 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118"         │

23:19:42 #15015 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:42 #15016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102"         │

23:19:42 #15017 [Debug] > │ x2="584" y2="102"/>                                                          │

23:19:42 #15018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │

23:19:42 #15019 [Debug] > │ y2="85"/>                                                                    │

23:19:42 #15020 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle"                        │

23:19:42 #15021 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15022 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15023 [Debug] > │ position (m)                                                                 │

23:19:42 #15024 [Debug] > │ </text>                                                                      │

23:19:42 #15025 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle"                         │

23:19:42 #15026 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15027 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)">                              │

23:19:42 #15028 [Debug] > │ displacement (m)                                                             │

23:19:42 #15029 [Debug] > │ </text>                                                                      │

23:19:42 #15030 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle"                       │

23:19:42 #15031 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15032 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15033 [Debug] > │ position (m)                                                                 │

23:19:42 #15034 [Debug] > │ </text>                                                                      │

23:19:42 #15035 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15036 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15037 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)">                             │

23:19:42 #15038 [Debug] > │ displacement (m)                                                             │

23:19:42 #15039 [Debug] > │ </text>                                                                      │

23:19:42 #15040 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │

23:19:42 #15041 [Debug] > │ y2="75"/>                                                                    │

23:19:42 #15042 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="108" y1="424"        │

23:19:42 #15043 [Debug] > │ x2="108" y2="75"/>                                                           │

23:19:42 #15044 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="146" y1="424"        │

23:19:42 #15045 [Debug] > │ x2="146" y2="75"/>                                                           │

23:19:42 #15046 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="185" y1="424"        │

23:19:42 #15047 [Debug] > │ x2="185" y2="75"/>                                                           │

23:19:42 #15048 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="223" y1="424"        │

23:19:42 #15049 [Debug] > │ x2="223" y2="75"/>                                                           │

23:19:42 #15050 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="261" y1="424"        │

23:19:42 #15051 [Debug] > │ x2="261" y2="75"/>                                                           │

23:19:42 #15052 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="300" y1="424"        │

23:19:42 #15053 [Debug] > │ x2="300" y2="75"/>                                                           │

23:19:42 #15054 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="338" y1="424"        │

23:19:42 #15055 [Debug] > │ x2="338" y2="75"/>                                                           │

23:19:42 #15056 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="377" y1="424"        │

23:19:42 #15057 [Debug] > │ x2="377" y2="75"/>                                                           │

23:19:42 #15058 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="415" y1="424"        │

23:19:42 #15059 [Debug] > │ x2="415" y2="75"/>                                                           │

23:19:42 #15060 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="453" y1="424"        │

23:19:42 #15061 [Debug] > │ x2="453" y2="75"/>                                                           │

23:19:42 #15062 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="492" y1="424"        │

23:19:42 #15063 [Debug] > │ x2="492" y2="75"/>                                                           │

23:19:42 #15064 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="530" y1="424"        │

23:19:42 #15065 [Debug] > │ x2="530" y2="75"/>                                                           │

23:19:42 #15066 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424"        │

23:19:42 #15067 [Debug] > │ x2="569" y2="75"/>                                                           │

23:19:42 #15068 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="382"         │

23:19:42 #15069 [Debug] > │ x2="584" y2="382"/>                                                          │

23:19:42 #15070 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="316"         │

23:19:42 #15071 [Debug] > │ x2="584" y2="316"/>                                                          │

23:19:42 #15072 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250"         │

23:19:42 #15073 [Debug] > │ x2="584" y2="250"/>                                                          │

23:19:42 #15074 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="184"         │

23:19:42 #15075 [Debug] > │ x2="584" y2="184"/>                                                          │

23:19:42 #15076 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="118"         │

23:19:42 #15077 [Debug] > │ x2="584" y2="118"/>                                                          │

23:19:42 #15078 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15079 [Debug] > │ points="55,74 584,74 "/>                                                     │

23:19:42 #15080 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle"                         │

23:19:42 #15081 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15082 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15083 [Debug] > │ 0.0                                                                          │

23:19:42 #15084 [Debug] > │ </text>                                                                      │

23:19:42 #15085 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15086 [Debug] > │ points="69,69 69,74 "/>                                                      │

23:19:42 #15087 [Debug] > │ <text x="108" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15088 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15089 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15090 [Debug] > │ 0.1                                                                          │

23:19:42 #15091 [Debug] > │ </text>                                                                      │

23:19:42 #15092 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15093 [Debug] > │ points="108,69 108,74 "/>                                                    │

23:19:42 #15094 [Debug] > │ <text x="146" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15095 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15096 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15097 [Debug] > │ 0.1                                                                          │

23:19:42 #15098 [Debug] > │ </text>                                                                      │

23:19:42 #15099 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15100 [Debug] > │ points="146,69 146,74 "/>                                                    │

23:19:42 #15101 [Debug] > │ <text x="185" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15102 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15103 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15104 [Debug] > │ 0.2                                                                          │

23:19:42 #15105 [Debug] > │ </text>                                                                      │

23:19:42 #15106 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15107 [Debug] > │ points="185,69 185,74 "/>                                                    │

23:19:42 #15108 [Debug] > │ <text x="223" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15109 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15110 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15111 [Debug] > │ 0.2                                                                          │

23:19:42 #15112 [Debug] > │ </text>                                                                      │

23:19:42 #15113 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15114 [Debug] > │ points="223,69 223,74 "/>                                                    │

23:19:42 #15115 [Debug] > │ <text x="261" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15116 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15117 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15118 [Debug] > │ 0.2                                                                          │

23:19:42 #15119 [Debug] > │ </text>                                                                      │

23:19:42 #15120 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15121 [Debug] > │ points="261,69 261,74 "/>                                                    │

23:19:42 #15122 [Debug] > │ <text x="300" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15123 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15124 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15125 [Debug] > │ 0.3                                                                          │

23:19:42 #15126 [Debug] > │ </text>                                                                      │

23:19:42 #15127 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15128 [Debug] > │ points="300,69 300,74 "/>                                                    │

23:19:42 #15129 [Debug] > │ <text x="338" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15130 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15131 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15132 [Debug] > │ 0.3                                                                          │

23:19:42 #15133 [Debug] > │ </text>                                                                      │

23:19:42 #15134 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15135 [Debug] > │ points="338,69 338,74 "/>                                                    │

23:19:42 #15136 [Debug] > │ <text x="377" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15137 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15138 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15139 [Debug] > │ 0.4                                                                          │

23:19:42 #15140 [Debug] > │ </text>                                                                      │

23:19:42 #15141 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15142 [Debug] > │ points="377,69 377,74 "/>                                                    │

23:19:42 #15143 [Debug] > │ <text x="415" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15144 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15145 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15146 [Debug] > │ 0.4                                                                          │

23:19:42 #15147 [Debug] > │ </text>                                                                      │

23:19:42 #15148 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15149 [Debug] > │ points="415,69 415,74 "/>                                                    │

23:19:42 #15150 [Debug] > │ <text x="453" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15151 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15152 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15153 [Debug] > │ 0.5                                                                          │

23:19:42 #15154 [Debug] > │ </text>                                                                      │

23:19:42 #15155 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15156 [Debug] > │ points="453,69 453,74 "/>                                                    │

23:19:42 #15157 [Debug] > │ <text x="492" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15158 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15159 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15160 [Debug] > │ 0.5                                                                          │

23:19:42 #15161 [Debug] > │ </text>                                                                      │

23:19:42 #15162 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15163 [Debug] > │ points="492,69 492,74 "/>                                                    │

23:19:42 #15164 [Debug] > │ <text x="530" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15165 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15166 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15167 [Debug] > │ 0.6                                                                          │

23:19:42 #15168 [Debug] > │ </text>                                                                      │

23:19:42 #15169 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15170 [Debug] > │ points="530,69 530,74 "/>                                                    │

23:19:42 #15171 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle"                        │

23:19:42 #15172 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15173 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15174 [Debug] > │ 0.7                                                                          │

23:19:42 #15175 [Debug] > │ </text>                                                                      │

23:19:42 #15176 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15177 [Debug] > │ points="569,69 569,74 "/>                                                    │

23:19:42 #15178 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15179 [Debug] > │ points="54,75 54,424 "/>                                                     │

23:19:42 #15180 [Debug] > │ <text x="45" y="382" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:42 #15181 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15182 [Debug] > │ -0.0                                                                         │

23:19:42 #15183 [Debug] > │ </text>                                                                      │

23:19:42 #15184 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15185 [Debug] > │ points="49,382 54,382 "/>                                                    │

23:19:42 #15186 [Debug] > │ <text x="45" y="316" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:42 #15187 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15188 [Debug] > │ -0.0                                                                         │

23:19:42 #15189 [Debug] > │ </text>                                                                      │

23:19:42 #15190 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15191 [Debug] > │ points="49,316 54,316 "/>                                                    │

23:19:42 #15192 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:42 #15193 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15194 [Debug] > │ 0.0                                                                          │

23:19:42 #15195 [Debug] > │ </text>                                                                      │

23:19:42 #15196 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15197 [Debug] > │ points="49,250 54,250 "/>                                                    │

23:19:42 #15198 [Debug] > │ <text x="45" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:42 #15199 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15200 [Debug] > │ 0.0                                                                          │

23:19:42 #15201 [Debug] > │ </text>                                                                      │

23:19:42 #15202 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15203 [Debug] > │ points="49,184 54,184 "/>                                                    │

23:19:42 #15204 [Debug] > │ <text x="45" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif"   │

23:19:42 #15205 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15206 [Debug] > │ 0.0                                                                          │

23:19:42 #15207 [Debug] > │ </text>                                                                      │

23:19:42 #15208 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15209 [Debug] > │ points="49,118 54,118 "/>                                                    │

23:19:42 #15210 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15211 [Debug] > │ points="55,425 584,425 "/>                                                   │

23:19:42 #15212 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle"                        │

23:19:42 #15213 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15214 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15215 [Debug] > │ 0.0                                                                          │

23:19:42 #15216 [Debug] > │ </text>                                                                      │

23:19:42 #15217 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15218 [Debug] > │ points="69,425 69,430 "/>                                                    │

23:19:42 #15219 [Debug] > │ <text x="108" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15220 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15221 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15222 [Debug] > │ 0.1                                                                          │

23:19:42 #15223 [Debug] > │ </text>                                                                      │

23:19:42 #15224 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15225 [Debug] > │ points="108,425 108,430 "/>                                                  │

23:19:42 #15226 [Debug] > │ <text x="146" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15227 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15228 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15229 [Debug] > │ 0.1                                                                          │

23:19:42 #15230 [Debug] > │ </text>                                                                      │

23:19:42 #15231 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15232 [Debug] > │ points="146,425 146,430 "/>                                                  │

23:19:42 #15233 [Debug] > │ <text x="185" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15234 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15235 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15236 [Debug] > │ 0.2                                                                          │

23:19:42 #15237 [Debug] > │ </text>                                                                      │

23:19:42 #15238 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15239 [Debug] > │ points="185,425 185,430 "/>                                                  │

23:19:42 #15240 [Debug] > │ <text x="223" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15241 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15242 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15243 [Debug] > │ 0.2                                                                          │

23:19:42 #15244 [Debug] > │ </text>                                                                      │

23:19:42 #15245 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15246 [Debug] > │ points="223,425 223,430 "/>                                                  │

23:19:42 #15247 [Debug] > │ <text x="261" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15248 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15249 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15250 [Debug] > │ 0.2                                                                          │

23:19:42 #15251 [Debug] > │ </text>                                                                      │

23:19:42 #15252 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15253 [Debug] > │ points="261,425 261,430 "/>                                                  │

23:19:42 #15254 [Debug] > │ <text x="300" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15255 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15256 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15257 [Debug] > │ 0.3                                                                          │

23:19:42 #15258 [Debug] > │ </text>                                                                      │

23:19:42 #15259 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15260 [Debug] > │ points="300,425 300,430 "/>                                                  │

23:19:42 #15261 [Debug] > │ <text x="338" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15262 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15263 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15264 [Debug] > │ 0.3                                                                          │

23:19:42 #15265 [Debug] > │ </text>                                                                      │

23:19:42 #15266 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15267 [Debug] > │ points="338,425 338,430 "/>                                                  │

23:19:42 #15268 [Debug] > │ <text x="377" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15269 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15270 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15271 [Debug] > │ 0.4                                                                          │

23:19:42 #15272 [Debug] > │ </text>                                                                      │

23:19:42 #15273 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15274 [Debug] > │ points="377,425 377,430 "/>                                                  │

23:19:42 #15275 [Debug] > │ <text x="415" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15276 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15277 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15278 [Debug] > │ 0.4                                                                          │

23:19:42 #15279 [Debug] > │ </text>                                                                      │

23:19:42 #15280 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15281 [Debug] > │ points="415,425 415,430 "/>                                                  │

23:19:42 #15282 [Debug] > │ <text x="453" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15283 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15284 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15285 [Debug] > │ 0.5                                                                          │

23:19:42 #15286 [Debug] > │ </text>                                                                      │

23:19:42 #15287 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15288 [Debug] > │ points="453,425 453,430 "/>                                                  │

23:19:42 #15289 [Debug] > │ <text x="492" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15290 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15291 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15292 [Debug] > │ 0.5                                                                          │

23:19:42 #15293 [Debug] > │ </text>                                                                      │

23:19:42 #15294 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15295 [Debug] > │ points="492,425 492,430 "/>                                                  │

23:19:42 #15296 [Debug] > │ <text x="530" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15297 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15298 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15299 [Debug] > │ 0.6                                                                          │

23:19:42 #15300 [Debug] > │ </text>                                                                      │

23:19:42 #15301 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15302 [Debug] > │ points="530,425 530,430 "/>                                                  │

23:19:42 #15303 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle"                       │

23:19:42 #15304 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15305 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15306 [Debug] > │ 0.7                                                                          │

23:19:42 #15307 [Debug] > │ </text>                                                                      │

23:19:42 #15308 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15309 [Debug] > │ points="569,425 569,430 "/>                                                  │

23:19:42 #15310 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15311 [Debug] > │ points="585,75 585,424 "/>                                                   │

23:19:42 #15312 [Debug] > │ <text x="595" y="382" dy="0.5ex" text-anchor="start"                         │

23:19:42 #15313 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15314 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15315 [Debug] > │ -0.0                                                                         │

23:19:42 #15316 [Debug] > │ </text>                                                                      │

23:19:42 #15317 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15318 [Debug] > │ points="585,382 590,382 "/>                                                  │

23:19:42 #15319 [Debug] > │ <text x="595" y="316" dy="0.5ex" text-anchor="start"                         │

23:19:42 #15320 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15321 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15322 [Debug] > │ -0.0                                                                         │

23:19:42 #15323 [Debug] > │ </text>                                                                      │

23:19:42 #15324 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15325 [Debug] > │ points="585,316 590,316 "/>                                                  │

23:19:42 #15326 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:42 #15327 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15328 [Debug] > │ 0.0                                                                          │

23:19:42 #15329 [Debug] > │ </text>                                                                      │

23:19:42 #15330 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15331 [Debug] > │ points="585,250 590,250 "/>                                                  │

23:19:42 #15332 [Debug] > │ <text x="617" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:42 #15333 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15334 [Debug] > │ 0.0                                                                          │

23:19:42 #15335 [Debug] > │ </text>                                                                      │

23:19:42 #15336 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15337 [Debug] > │ points="585,184 590,184 "/>                                                  │

23:19:42 #15338 [Debug] > │ <text x="617" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif"  │

23:19:42 #15339 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF">                     │

23:19:42 #15340 [Debug] > │ 0.0                                                                          │

23:19:42 #15341 [Debug] > │ </text>                                                                      │

23:19:42 #15342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1"          │

23:19:42 #15343 [Debug] > │ points="585,118 590,118 "/>                                                  │

23:19:42 #15344 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:42 #15345 [Debug] > │ points="69,250 77,226 85,203 93,181 100,160 108,141 116,124 123,110 131,99   │

23:19:42 #15346 [Debug] > │ 139,91 146,87 154,85 162,88 169,93 177,102 185,115 192,129 200,147 208,167   │

23:19:42 #15347 [Debug] > │ 215,188 223,211 231,234 238,258 246,282 254,305 261,327 269,347 277,365      │

23:19:42 #15348 [Debug] > │ 284,381 292,394 300,404 307,411 315,415 323,415 331,411 338,404 346,394      │

23:19:42 #15349 [Debug] > │ 354,381 361,365 369,347 377,327 384,305 392,282 400,258 407,234 415,211      │

23:19:42 #15350 [Debug] > │ 423,188 430,167 438,147 446,129 453,115 461,102 469,93 476,88 484,85 492,87  │

23:19:42 #15351 [Debug] > │ 499,91 507,99 515,110 522,124 530,141 538,160 545,181 553,203 561,226        │

23:19:42 #15352 [Debug] > │ 569,250 "/>                                                                  │

23:19:42 #15353 [Debug] > │ <rect x="525" y="235" width="55" height="30" opacity="1" fill="none"         │

23:19:42 #15354 [Debug] > │ stroke="#FFFFFF"/>                                                           │

23:19:42 #15355 [Debug] > │ <text x="565" y="245" dy="0.76em" text-anchor="start"                        │

23:19:42 #15356 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1"            │

23:19:42 #15357 [Debug] > │ fill="#FFFFFF">                                                              │

23:19:42 #15358 [Debug] > │ 0                                                                            │

23:19:42 #15359 [Debug] > │ </text>                                                                      │

23:19:42 #15360 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1"          │

23:19:42 #15361 [Debug] > │ points="535,250 555,250 "/>                                                  │

23:19:42 #15362 [Debug] > │ </svg>                                                                       │

23:19:42 #15363 [Debug] > │                                                                              │

23:19:42 #15364 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:42 #15365 [Debug] >

23:19:42 #15366 [Debug] > ╭─[ 894.57ms - stdout ]────────────────────────────────────────────────────────╮

23:19:42 #15367 [Debug] > │ type UH0 =                                                                   │

23:19:42 #15368 [Debug] > │     | UH0_0 of float * UH0                                                   │

23:19:42 #15369 [Debug] > │     | UH0_1                                                                  │

23:19:42 #15370 [Debug] > │ and UH1 =                                                                    │

23:19:42 #15371 [Debug] > │     | UH1_0 of (float []) * (float []) * UH1                                 │

23:19:42 #15372 [Debug] > │     | UH1_1                                                                  │

23:19:42 #15373 [Debug] > │ and UH2 =                                                                    │

23:19:42 #15374 [Debug] > │     | UH2_0 of float * float * float * UH2                                   │

23:19:42 #15375 [Debug] > │     | UH2_1                                                                  │

23:19:42 #15376 [Debug] > │ and [<Struct>] US0 =                                                         │

23:19:42 #15377 [Debug] > │     | US0_0                                                                  │

23:19:42 #15378 [Debug] > │     | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float *   │

23:19:42 #15379 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float     │

23:19:42 #15380 [Debug] > │ and UH3 =                                                                    │

23:19:42 #15381 [Debug] > │     | UH3_0 of float * float * UH3                                           │

23:19:42 #15382 [Debug] > │     | UH3_1                                                                  │

23:19:42 #15383 [Debug] > │ let rec method2 (v0 : UH2, v1 : float) : UH2 =                               │

23:19:42 #15384 [Debug] > │     let v2 : bool = v1 = 0.0                                                 │

23:19:42 #15385 [Debug] > │     let v258 : US0 =                                                         │

23:19:42 #15386 [Debug] > │         if v2 then                                                           │

23:19:42 #15387 [Debug] > │             US0_1(0.0, 8.422578125E-06, 0.01, 0.0007224452478461068, 0.0,    │

23:19:42 #15388 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15389 [Debug] > │         else                                                                 │

23:19:42 #15390 [Debug] > │             let v4 : float = v1 - 1.0                                        │

23:19:42 #15391 [Debug] > │             let v5 : bool = v4 = 0.0                                         │

23:19:42 #15392 [Debug] > │             if v5 then                                                       │

23:19:42 #15393 [Debug] > │                 US0_1(0.0, 8.422578125E-06, 0.02, 0.0014297283919934465,     │

23:19:42 #15394 [Debug] > │ 0.0, 0.0, 0.0, 0.0, 0.0)                                                     │

23:19:42 #15395 [Debug] > │             else                                                             │

23:19:42 #15396 [Debug] > │                 let v7 : float = v4 - 1.0                                    │

23:19:42 #15397 [Debug] > │                 let v8 : bool = v7 = 0.0                                     │

23:19:42 #15398 [Debug] > │                 if v8 then                                                   │

23:19:42 #15399 [Debug] > │                     US0_1(0.0, 8.422578125E-06, 0.03, 0.0021070055388626454, │

23:19:42 #15400 [Debug] > │ 0.0, 0.0, 0.0, 0.0, 0.0)                                                     │

23:19:42 #15401 [Debug] > │                 else                                                         │

23:19:42 #15402 [Debug] > │                     let v10 : float = v7 - 1.0                               │

23:19:42 #15403 [Debug] > │                     let v11 : bool = v10 = 0.0                               │

23:19:42 #15404 [Debug] > │                     if v11 then                                              │

23:19:42 #15405 [Debug] > │                         US0_1(0.0, 8.422578125E-06, 0.04,                    │

23:19:42 #15406 [Debug] > │ 0.00274006253677335, 0.0, 0.0, 0.0, 0.0, 0.0)                                │

23:19:42 #15407 [Debug] > │                     else                                                     │

23:19:42 #15408 [Debug] > │                         let v13 : float = v10 - 1.0                          │

23:19:42 #15409 [Debug] > │                         let v14 : bool = v13 = 0.0                           │

23:19:42 #15410 [Debug] > │                         if v14 then                                          │

23:19:42 #15411 [Debug] > │                             US0_1(0.0, 8.422578125E-06, 0.05,                │

23:19:42 #15412 [Debug] > │ 0.0033156132912039757, 0.0, 0.0, 0.0, 0.0, 0.0)                              │

23:19:42 #15413 [Debug] > │                         else                                                 │

23:19:42 #15414 [Debug] > │                             let v16 : float = v13 - 1.0                      │

23:19:42 #15415 [Debug] > │                             let v17 : bool = v16 = 0.0                       │

23:19:42 #15416 [Debug] > │                             if v17 then                                      │

23:19:42 #15417 [Debug] > │                                 US0_1(0.0, 8.422578125E-06,                  │

23:19:42 #15418 [Debug] > │ 0.060000000000000005, 0.0038215786027292415, 0.0, 0.0, 0.0, 0.0, 0.0)        │

23:19:42 #15419 [Debug] > │                             else                                             │

23:19:42 #15420 [Debug] > │                                 let v19 : float = v16 - 1.0                  │

23:19:42 #15421 [Debug] > │                                 let v20 : bool = v19 = 0.0                   │

23:19:42 #15422 [Debug] > │                                 if v20 then                                  │

23:19:42 #15423 [Debug] > │                                     US0_1(0.0, 8.422578125E-06,              │

23:19:42 #15424 [Debug] > │ 0.06999999999999999, 0.004247339675607605, 0.0, 0.0, 0.0, 0.0, 0.0)          │

23:19:42 #15425 [Debug] > │                                 else                                         │

23:19:42 #15426 [Debug] > │                                     let v22 : float = v19 - 1.0              │

23:19:42 #15427 [Debug] > │                                     let v23 : bool = v22 = 0.0               │

23:19:42 #15428 [Debug] > │                                     if v23 then                              │

23:19:42 #15429 [Debug] > │                                         US0_1(0.0, 8.422578125E-06, 0.08,    │

23:19:42 #15430 [Debug] > │ 0.004583960976582912, 0.0, 0.0, 0.0, 0.0, 0.0)                               │

23:19:42 #15431 [Debug] > │                                     else                                     │

23:19:42 #15432 [Debug] > │                                         let v25 : float = v22 - 1.0          │

23:19:42 #15433 [Debug] > │                                         let v26 : bool = v25 = 0.0           │

23:19:42 #15434 [Debug] > │                                         if v26 then                          │

23:19:42 #15435 [Debug] > │                                             US0_1(0.0, 8.422578125E-06,      │

23:19:42 #15436 [Debug] > │ 0.09, 0.004824377766717757, 0.0, 0.0, 0.0, 0.0, 0.0)                         │

23:19:42 #15437 [Debug] > │                                         else                                 │

23:19:42 #15438 [Debug] > │                                             let v28 : float = v25 - 1.0      │

23:19:42 #15439 [Debug] > │                                             let v29 : bool = v28 = 0.0       │

23:19:42 #15440 [Debug] > │                                             if v29 then                      │

23:19:42 #15441 [Debug] > │                                                 US0_1(0.0, 8.422578125E-06,  │

23:19:42 #15442 [Debug] > │ 0.09999999999999999, 0.00496354437049027, 0.0, 0.0, 0.0, 0.0, 0.0)           │

23:19:42 #15443 [Debug] > │                                             else                             │

23:19:42 #15444 [Debug] > │                                                 let v31 : float = v28 - 1.0  │

23:19:42 #15445 [Debug] > │                                                 let v32 : bool = v31 = 0.0   │

23:19:42 #15446 [Debug] > │                                                 if v32 then                  │

23:19:42 #15447 [Debug] > │                                                     US0_1(0.0,               │

23:19:42 #15448 [Debug] > │ 8.422578125E-06, 0.11, 0.004998540070400965, 0.0, 0.0, 0.0, 0.0, 0.0)        │

23:19:42 #15449 [Debug] > │                                                 else                         │

23:19:42 #15450 [Debug] > │                                                     let v34 : float = v31 -  │

23:19:42 #15451 [Debug] > │ 1.0                                                                          │

23:19:42 #15452 [Debug] > │                                                     let v35 : bool = v34 =   │

23:19:42 #15453 [Debug] > │ 0.0                                                                          │

23:19:42 #15454 [Debug] > │                                                     if v35 then              │

23:19:42 #15455 [Debug] > │                                                         US0_1(0.0,           │

23:19:42 #15456 [Debug] > │ 8.422578125E-06, 0.12, 0.004928630404658255, 0.0, 0.0, 0.0, 0.0, 0.0)        │

23:19:42 #15457 [Debug] > │                                                     else                     │

23:19:42 #15458 [Debug] > │                                                         let v37 : float =    │

23:19:42 #15459 [Debug] > │ v34 - 1.0                                                                    │

23:19:42 #15460 [Debug] > │                                                         let v38 : bool = v37 │

23:19:42 #15461 [Debug] > │ = 0.0                                                                        │

23:19:42 #15462 [Debug] > │                                                         if v38 then          │

23:19:42 #15463 [Debug] > │                                                             US0_1(0.0,       │

23:19:42 #15464 [Debug] > │ 8.422578125E-06, 0.13, 0.004755282581475768, 0.0, 0.0, 0.0, 0.0, 0.0)        │

23:19:42 #15465 [Debug] > │                                                         else                 │

23:19:42 #15466 [Debug] > │                                                             let v40 : float  │

23:19:42 #15467 [Debug] > │ = v37 - 1.0                                                                  │

23:19:42 #15468 [Debug] > │                                                             let v41 : bool = │

23:19:42 #15469 [Debug] > │ v40 = 0.0                                                                    │

23:19:42 #15470 [Debug] > │                                                             if v41 then      │

23:19:42 #15471 [Debug] > │                                                                 US0_1(0.0,   │

23:19:42 #15472 [Debug] > │ 8.422578125E-06, 0.14, 0.004482134686478519, 0.0, 0.0, 0.0, 0.0, 0.0)        │

23:19:42 #15473 [Debug] > │                                                             else             │

23:19:42 #15474 [Debug] > │                                                                 let v43 :    │

23:19:42 #15475 [Debug] > │ float = v40 - 1.0                                                            │

23:19:42 #15476 [Debug] > │                                                                 let v44 :    │

23:19:42 #15477 [Debug] > │ bool = v43 = 0.0                                                             │

23:19:42 #15478 [Debug] > │                                                                 if v44 then  │

23:19:42 #15479 [Debug] > │                                                                              │

23:19:42 #15480 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.15000000000000002, 0.0041149193294682815, 0.0, │

23:19:42 #15481 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15482 [Debug] > │                                                                 else         │

23:19:42 #15483 [Debug] > │                                                                     let v46  │

23:19:42 #15484 [Debug] > │ : float = v43 - 1.0                                                          │

23:19:42 #15485 [Debug] > │                                                                     let v47  │

23:19:42 #15486 [Debug] > │ : bool = v46 = 0.0                                                           │

23:19:42 #15487 [Debug] > │                                                                     if v47   │

23:19:42 #15488 [Debug] > │ then                                                                         │

23:19:42 #15489 [Debug] > │                                                                              │

23:19:42 #15490 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.16, 0.0036613433329888666, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15491 [Debug] > │ 0.0)                                                                         │

23:19:42 #15492 [Debug] > │                                                                     else     │

23:19:42 #15493 [Debug] > │                                                                         let  │

23:19:42 #15494 [Debug] > │ v49 : float = v46 - 1.0                                                      │

23:19:42 #15495 [Debug] > │                                                                         let  │

23:19:42 #15496 [Debug] > │ v50 : bool = v49 = 0.0                                                       │

23:19:42 #15497 [Debug] > │                                                                         if   │

23:19:42 #15498 [Debug] > │ v50 then                                                                     │

23:19:42 #15499 [Debug] > │                                                                              │

23:19:42 #15500 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.17, 0.0031309259876915697, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15501 [Debug] > │ 0.0)                                                                         │

23:19:42 #15502 [Debug] > │                                                                         else │

23:19:42 #15503 [Debug] > │                                                                              │

23:19:42 #15504 [Debug] > │ let v52 : float = v49 - 1.0                                                  │

23:19:42 #15505 [Debug] > │                                                                              │

23:19:42 #15506 [Debug] > │ let v53 : bool = v52 = 0.0                                                   │

23:19:42 #15507 [Debug] > │                                                                              │

23:19:42 #15508 [Debug] > │ if v53 then                                                                  │

23:19:42 #15509 [Debug] > │                                                                              │

23:19:42 #15510 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.18000000000000002, 0.002534799269067951, 0.0,  │

23:19:42 #15511 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15512 [Debug] > │                                                                              │

23:19:42 #15513 [Debug] > │ else                                                                         │

23:19:42 #15514 [Debug] > │                                                                              │

23:19:42 #15515 [Debug] > │ let v55 : float = v52 - 1.0                                                  │

23:19:42 #15516 [Debug] > │                                                                              │

23:19:42 #15517 [Debug] > │ let v56 : bool = v55 = 0.0                                                   │

23:19:42 #15518 [Debug] > │                                                                              │

23:19:42 #15519 [Debug] > │ if v56 then                                                                  │

23:19:42 #15520 [Debug] > │                                                                              │

23:19:42 #15521 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.19, 0.0018854742084416015, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15522 [Debug] > │ 0.0)                                                                         │

23:19:42 #15523 [Debug] > │                                                                              │

23:19:42 #15524 [Debug] > │ else                                                                         │

23:19:42 #15525 [Debug] > │                                                                              │

23:19:42 #15526 [Debug] > │ let v58 : float = v55 - 1.0                                                  │

23:19:42 #15527 [Debug] > │                                                                              │

23:19:42 #15528 [Debug] > │ let v59 : bool = v58 = 0.0                                                   │

23:19:42 #15529 [Debug] > │                                                                              │

23:19:42 #15530 [Debug] > │ if v59 then                                                                  │

23:19:42 #15531 [Debug] > │                                                                              │

23:19:42 #15532 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.2, 0.0011965783214377905, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #15533 [Debug] > │ 0.0)                                                                         │

23:19:42 #15534 [Debug] > │                                                                              │

23:19:42 #15535 [Debug] > │ else                                                                         │

23:19:42 #15536 [Debug] > │                                                                              │

23:19:42 #15537 [Debug] > │ let v61 : float = v58 - 1.0                                                  │

23:19:42 #15538 [Debug] > │                                                                              │

23:19:42 #15539 [Debug] > │ let v62 : bool = v61 = 0.0                                                   │

23:19:42 #15540 [Debug] > │                                                                              │

23:19:42 #15541 [Debug] > │ if v62 then                                                                  │

23:19:42 #15542 [Debug] > │                                                                              │

23:19:42 #15543 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.21000000000000002, 0.00048256960457257535,     │

23:19:42 #15544 [Debug] > │ 0.0, 0.0, 0.0, 0.0, 0.0)                                                     │

23:19:42 #15545 [Debug] > │                                                                              │

23:19:42 #15546 [Debug] > │ else                                                                         │

23:19:42 #15547 [Debug] > │                                                                              │

23:19:42 #15548 [Debug] > │ let v64 : float = v61 - 1.0                                                  │

23:19:42 #15549 [Debug] > │                                                                              │

23:19:42 #15550 [Debug] > │ let v65 : bool = v64 = 0.0                                                   │

23:19:42 #15551 [Debug] > │                                                                              │

23:19:42 #15552 [Debug] > │ if v65 then                                                                  │

23:19:42 #15553 [Debug] > │                                                                              │

23:19:42 #15554 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.22, -0.00024156689762753317, 0.0, 0.0, 0.0,    │

23:19:42 #15555 [Debug] > │ 0.0, 0.0)                                                                    │

23:19:42 #15556 [Debug] > │                                                                              │

23:19:42 #15557 [Debug] > │ else                                                                         │

23:19:42 #15558 [Debug] > │                                                                              │

23:19:42 #15559 [Debug] > │ let v67 : float = v64 - 1.0                                                  │

23:19:42 #15560 [Debug] > │                                                                              │

23:19:42 #15561 [Debug] > │ let v68 : bool = v67 = 0.0                                                   │

23:19:42 #15562 [Debug] > │                                                                              │

23:19:42 #15563 [Debug] > │ if v68 then                                                                  │

23:19:42 #15564 [Debug] > │                                                                              │

23:19:42 #15565 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.23, -0.0009606335867685418, 0.0, 0.0, 0.0,     │

23:19:42 #15566 [Debug] > │ 0.0, 0.0)                                                                    │

23:19:42 #15567 [Debug] > │                                                                              │

23:19:42 #15568 [Debug] > │ else                                                                         │

23:19:42 #15569 [Debug] > │                                                                              │

23:19:42 #15570 [Debug] > │ let v70 : float = v67 - 1.0                                                  │

23:19:42 #15571 [Debug] > │                                                                              │

23:19:42 #15572 [Debug] > │ let v71 : bool = v70 = 0.0                                                   │

23:19:42 #15573 [Debug] > │                                                                              │

23:19:42 #15574 [Debug] > │ if v71 then                                                                  │

23:19:42 #15575 [Debug] > │                                                                              │

23:19:42 #15576 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.24000000000000002, -0.001659539265642642, 0.0, │

23:19:42 #15577 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15578 [Debug] > │                                                                              │

23:19:42 #15579 [Debug] > │ else                                                                         │

23:19:42 #15580 [Debug] > │                                                                              │

23:19:42 #15581 [Debug] > │ let v73 : float = v70 - 1.0                                                  │

23:19:42 #15582 [Debug] > │                                                                              │

23:19:42 #15583 [Debug] > │ let v74 : bool = v73 = 0.0                                                   │

23:19:42 #15584 [Debug] > │                                                                              │

23:19:42 #15585 [Debug] > │ if v74 then                                                                  │

23:19:42 #15586 [Debug] > │                                                                              │

23:19:42 #15587 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.25, -0.002323615860218842, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15588 [Debug] > │ 0.0)                                                                         │

23:19:42 #15589 [Debug] > │                                                                              │

23:19:42 #15590 [Debug] > │ else                                                                         │

23:19:42 #15591 [Debug] > │                                                                              │

23:19:42 #15592 [Debug] > │ let v76 : float = v73 - 1.0                                                  │

23:19:42 #15593 [Debug] > │                                                                              │

23:19:42 #15594 [Debug] > │ let v77 : bool = v76 = 0.0                                                   │

23:19:42 #15595 [Debug] > │                                                                              │

23:19:42 #15596 [Debug] > │ if v77 then                                                                  │

23:19:42 #15597 [Debug] > │                                                                              │

23:19:42 #15598 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.26, -0.0029389262614623636, 0.0, 0.0, 0.0,     │

23:19:42 #15599 [Debug] > │ 0.0, 0.0)                                                                    │

23:19:42 #15600 [Debug] > │                                                                              │

23:19:42 #15601 [Debug] > │ else                                                                         │

23:19:42 #15602 [Debug] > │                                                                              │

23:19:42 #15603 [Debug] > │ let v79 : float = v76 - 1.0                                                  │

23:19:42 #15604 [Debug] > │                                                                              │

23:19:42 #15605 [Debug] > │ let v80 : bool = v79 = 0.0                                                   │

23:19:42 #15606 [Debug] > │                                                                              │

23:19:42 #15607 [Debug] > │ if v80 then                                                                  │

23:19:42 #15608 [Debug] > │                                                                              │

23:19:42 #15609 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.27, -0.003492556826244686, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15610 [Debug] > │ 0.0)                                                                         │

23:19:42 #15611 [Debug] > │                                                                              │

23:19:42 #15612 [Debug] > │ else                                                                         │

23:19:42 #15613 [Debug] > │                                                                              │

23:19:42 #15614 [Debug] > │ let v82 : float = v79 - 1.0                                                  │

23:19:42 #15615 [Debug] > │                                                                              │

23:19:42 #15616 [Debug] > │ let v83 : bool = v82 = 0.0                                                   │

23:19:42 #15617 [Debug] > │                                                                              │

23:19:42 #15618 [Debug] > │ if v83 then                                                                  │

23:19:42 #15619 [Debug] > │                                                                              │

23:19:42 #15620 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.28, -0.003972888398568771, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15621 [Debug] > │ 0.0)                                                                         │

23:19:42 #15622 [Debug] > │                                                                              │

23:19:42 #15623 [Debug] > │ else                                                                         │

23:19:42 #15624 [Debug] > │                                                                              │

23:19:42 #15625 [Debug] > │ let v85 : float = v82 - 1.0                                                  │

23:19:42 #15626 [Debug] > │                                                                              │

23:19:42 #15627 [Debug] > │ let v86 : bool = v85 = 0.0                                                   │

23:19:42 #15628 [Debug] > │                                                                              │

23:19:42 #15629 [Debug] > │ if v86 then                                                                  │

23:19:42 #15630 [Debug] > │                                                                              │

23:19:42 #15631 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.29000000000000004, -0.00436984016313259, 0.0,  │

23:19:42 #15632 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15633 [Debug] > │                                                                              │

23:19:42 #15634 [Debug] > │ else                                                                         │

23:19:42 #15635 [Debug] > │                                                                              │

23:19:42 #15636 [Debug] > │ let v88 : float = v85 - 1.0                                                  │

23:19:42 #15637 [Debug] > │                                                                              │

23:19:42 #15638 [Debug] > │ let v89 : bool = v88 = 0.0                                                   │

23:19:42 #15639 [Debug] > │                                                                              │

23:19:42 #15640 [Debug] > │ if v89 then                                                                  │

23:19:42 #15641 [Debug] > │                                                                              │

23:19:42 #15642 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.3, -0.004675081213427074, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #15643 [Debug] > │ 0.0)                                                                         │

23:19:42 #15644 [Debug] > │                                                                              │

23:19:42 #15645 [Debug] > │ else                                                                         │

23:19:42 #15646 [Debug] > │                                                                              │

23:19:42 #15647 [Debug] > │ let v91 : float = v88 - 1.0                                                  │

23:19:42 #15648 [Debug] > │                                                                              │

23:19:42 #15649 [Debug] > │ let v92 : bool = v91 = 0.0                                                   │

23:19:42 #15650 [Debug] > │                                                                              │

23:19:42 #15651 [Debug] > │ if v92 then                                                                  │

23:19:42 #15652 [Debug] > │                                                                              │

23:19:42 #15653 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.31, -0.004882205394146359, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15654 [Debug] > │ 0.0)                                                                         │

23:19:42 #15655 [Debug] > │                                                                              │

23:19:42 #15656 [Debug] > │ else                                                                         │

23:19:42 #15657 [Debug] > │                                                                              │

23:19:42 #15658 [Debug] > │ let v94 : float = v91 - 1.0                                                  │

23:19:42 #15659 [Debug] > │                                                                              │

23:19:42 #15660 [Debug] > │ let v95 : bool = v94 = 0.0                                                   │

23:19:42 #15661 [Debug] > │                                                                              │

23:19:42 #15662 [Debug] > │ if v95 then                                                                  │

23:19:42 #15663 [Debug] > │                                                                              │

23:19:42 #15664 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.32, -0.004986865748457456, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15665 [Debug] > │ 0.0)                                                                         │

23:19:42 #15666 [Debug] > │                                                                              │

23:19:42 #15667 [Debug] > │ else                                                                         │

23:19:42 #15668 [Debug] > │                                                                              │

23:19:42 #15669 [Debug] > │ let v97 : float = v94 - 1.0                                                  │

23:19:42 #15670 [Debug] > │                                                                              │

23:19:42 #15671 [Debug] > │ let v98 : bool = v97 = 0.0                                                   │

23:19:42 #15672 [Debug] > │                                                                              │

23:19:42 #15673 [Debug] > │ if v98 then                                                                  │

23:19:42 #15674 [Debug] > │                                                                              │

23:19:42 #15675 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.33, -0.004986865748457456, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15676 [Debug] > │ 0.0)                                                                         │

23:19:42 #15677 [Debug] > │                                                                              │

23:19:42 #15678 [Debug] > │ else                                                                         │

23:19:42 #15679 [Debug] > │                                                                              │

23:19:42 #15680 [Debug] > │ let v100 : float = v97 - 1.0                                                 │

23:19:42 #15681 [Debug] > │                                                                              │

23:19:42 #15682 [Debug] > │ let v101 : bool = v100 = 0.0                                                 │

23:19:42 #15683 [Debug] > │                                                                              │

23:19:42 #15684 [Debug] > │ if v101 then                                                                 │

23:19:42 #15685 [Debug] > │                                                                              │

23:19:42 #15686 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.34, -0.004882205394146361, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #15687 [Debug] > │ 0.0)                                                                         │

23:19:42 #15688 [Debug] > │                                                                              │

23:19:42 #15689 [Debug] > │ else                                                                         │

23:19:42 #15690 [Debug] > │                                                                              │

23:19:42 #15691 [Debug] > │ let v103 : float = v100 - 1.0                                                │

23:19:42 #15692 [Debug] > │                                                                              │

23:19:42 #15693 [Debug] > │ let v104 : bool = v103 = 0.0                                                 │

23:19:42 #15694 [Debug] > │                                                                              │

23:19:42 #15695 [Debug] > │ if v104 then                                                                 │

23:19:42 #15696 [Debug] > │                                                                              │

23:19:42 #15697 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.35000000000000003, -0.004675081213427074, 0.0, │

23:19:42 #15698 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15699 [Debug] > │                                                                              │

23:19:42 #15700 [Debug] > │ else                                                                         │

23:19:42 #15701 [Debug] > │                                                                              │

23:19:42 #15702 [Debug] > │ let v106 : float = v103 - 1.0                                                │

23:19:42 #15703 [Debug] > │                                                                              │

23:19:42 #15704 [Debug] > │ let v107 : bool = v106 = 0.0                                                 │

23:19:42 #15705 [Debug] > │                                                                              │

23:19:42 #15706 [Debug] > │ if v107 then                                                                 │

23:19:42 #15707 [Debug] > │                                                                              │

23:19:42 #15708 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.36000000000000004, -0.004369840163132589, 0.0, │

23:19:42 #15709 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15710 [Debug] > │                                                                              │

23:19:42 #15711 [Debug] > │ else                                                                         │

23:19:42 #15712 [Debug] > │                                                                              │

23:19:42 #15713 [Debug] > │ let v109 : float = v106 - 1.0                                                │

23:19:42 #15714 [Debug] > │                                                                              │

23:19:42 #15715 [Debug] > │ let v110 : bool = v109 = 0.0                                                 │

23:19:42 #15716 [Debug] > │                                                                              │

23:19:42 #15717 [Debug] > │ if v110 then                                                                 │

23:19:42 #15718 [Debug] > │                                                                              │

23:19:42 #15719 [Debug] > │     US0_1(0.0, 8.422578125E-06, 0.37, -0.003972888398568774, 0.0, 0.0, 0.0,  │

23:19:42 #15720 [Debug] > │ 0.0, 0.0)                                                                    │

23:19:42 #15721 [Debug] > │                                                                              │

23:19:42 #15722 [Debug] > │ else                                                                         │

23:19:42 #15723 [Debug] > │                                                                              │

23:19:42 #15724 [Debug] > │     let v112 : float = v109 - 1.0                                            │

23:19:42 #15725 [Debug] > │                                                                              │

23:19:42 #15726 [Debug] > │     let v113 : bool = v112 = 0.0                                             │

23:19:42 #15727 [Debug] > │                                                                              │

23:19:42 #15728 [Debug] > │     if v113 then                                                             │

23:19:42 #15729 [Debug] > │                                                                              │

23:19:42 #15730 [Debug] > │         US0_1(0.0, 8.422578125E-06, 0.38, -0.0034925568262446837, 0.0, 0.0,  │

23:19:42 #15731 [Debug] > │ 0.0, 0.0, 0.0)                                                               │

23:19:42 #15732 [Debug] > │                                                                              │

23:19:42 #15733 [Debug] > │     else                                                                     │

23:19:42 #15734 [Debug] > │                                                                              │

23:19:42 #15735 [Debug] > │         let v115 : float = v112 - 1.0                                        │

23:19:42 #15736 [Debug] > │                                                                              │

23:19:42 #15737 [Debug] > │         let v116 : bool = v115 = 0.0                                         │

23:19:42 #15738 [Debug] > │                                                                              │

23:19:42 #15739 [Debug] > │         if v116 then                                                         │

23:19:42 #15740 [Debug] > │                                                                              │

23:19:42 #15741 [Debug] > │             US0_1(0.0, 8.422578125E-06, 0.39, -0.002938926261462367, 0.0,    │

23:19:42 #15742 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15743 [Debug] > │                                                                              │

23:19:42 #15744 [Debug] > │         else                                                                 │

23:19:42 #15745 [Debug] > │                                                                              │

23:19:42 #15746 [Debug] > │             let v118 : float = v115 - 1.0                                    │

23:19:42 #15747 [Debug] > │                                                                              │

23:19:42 #15748 [Debug] > │             let v119 : bool = v118 = 0.0                                     │

23:19:42 #15749 [Debug] > │                                                                              │

23:19:42 #15750 [Debug] > │             if v119 then                                                     │

23:19:42 #15751 [Debug] > │                                                                              │

23:19:42 #15752 [Debug] > │                 US0_1(0.0, 8.422578125E-06, 0.4, -0.002323615860218846, 0.0, │

23:19:42 #15753 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15754 [Debug] > │                                                                              │

23:19:42 #15755 [Debug] > │             else                                                             │

23:19:42 #15756 [Debug] > │                                                                              │

23:19:42 #15757 [Debug] > │                 let v121 : float = v118 - 1.0                                │

23:19:42 #15758 [Debug] > │                                                                              │

23:19:42 #15759 [Debug] > │                 let v122 : bool = v121 = 0.0                                 │

23:19:42 #15760 [Debug] > │                                                                              │

23:19:42 #15761 [Debug] > │                 if v122 then                                                 │

23:19:42 #15762 [Debug] > │                                                                              │

23:19:42 #15763 [Debug] > │                     US0_1(0.0, 8.422578125E-06, 0.41000000000000003,         │

23:19:42 #15764 [Debug] > │ -0.0016595392656426435, 0.0, 0.0, 0.0, 0.0, 0.0)                             │

23:19:42 #15765 [Debug] > │                                                                              │

23:19:42 #15766 [Debug] > │                 else                                                         │

23:19:42 #15767 [Debug] > │                                                                              │

23:19:42 #15768 [Debug] > │                     let v124 : float = v121 - 1.0                            │

23:19:42 #15769 [Debug] > │                                                                              │

23:19:42 #15770 [Debug] > │                     let v125 : bool = v124 = 0.0                             │

23:19:42 #15771 [Debug] > │                                                                              │

23:19:42 #15772 [Debug] > │                     if v125 then                                             │

23:19:42 #15773 [Debug] > │                                                                              │

23:19:42 #15774 [Debug] > │                         US0_1(0.0, 8.422578125E-06, 0.42000000000000004,     │

23:19:42 #15775 [Debug] > │ -0.0009606335867685414, 0.0, 0.0, 0.0, 0.0, 0.0)                             │

23:19:42 #15776 [Debug] > │                                                                              │

23:19:42 #15777 [Debug] > │                     else                                                     │

23:19:42 #15778 [Debug] > │                                                                              │

23:19:42 #15779 [Debug] > │                         let v127 : float = v124 - 1.0                        │

23:19:42 #15780 [Debug] > │                                                                              │

23:19:42 #15781 [Debug] > │                         let v128 : bool = v127 = 0.0                         │

23:19:42 #15782 [Debug] > │                                                                              │

23:19:42 #15783 [Debug] > │                         if v128 then                                         │

23:19:42 #15784 [Debug] > │                                                                              │

23:19:42 #15785 [Debug] > │                             US0_1(0.0, 8.422578125E-06, 0.43,                │

23:19:42 #15786 [Debug] > │ -0.00024156689762753724, 0.0, 0.0, 0.0, 0.0, 0.0)                            │

23:19:42 #15787 [Debug] > │                                                                              │

23:19:42 #15788 [Debug] > │                         else                                                 │

23:19:42 #15789 [Debug] > │                                                                              │

23:19:42 #15790 [Debug] > │                             let v130 : float = v127 - 1.0                    │

23:19:42 #15791 [Debug] > │                                                                              │

23:19:42 #15792 [Debug] > │                             let v131 : bool = v130 = 0.0                     │

23:19:42 #15793 [Debug] > │                                                                              │

23:19:42 #15794 [Debug] > │                             if v131 then                                     │

23:19:42 #15795 [Debug] > │                                                                              │

23:19:42 #15796 [Debug] > │                                 US0_1(0.0, 8.422578125E-06, 0.44,            │

23:19:42 #15797 [Debug] > │ 0.0004825696045725713, 0.0, 0.0, 0.0, 0.0, 0.0)                              │

23:19:42 #15798 [Debug] > │                                                                              │

23:19:42 #15799 [Debug] > │                             else                                             │

23:19:42 #15800 [Debug] > │                                                                              │

23:19:42 #15801 [Debug] > │                                 let v133 : float = v130 - 1.0                │

23:19:42 #15802 [Debug] > │                                                                              │

23:19:42 #15803 [Debug] > │                                 let v134 : bool = v133 = 0.0                 │

23:19:42 #15804 [Debug] > │                                                                              │

23:19:42 #15805 [Debug] > │                                 if v134 then                                 │

23:19:42 #15806 [Debug] > │                                                                              │

23:19:42 #15807 [Debug] > │                                     US0_1(0.0, 8.422578125E-06, 0.45,        │

23:19:42 #15808 [Debug] > │ 0.0011965783214377866, 0.0, 0.0, 0.0, 0.0, 0.0)                              │

23:19:42 #15809 [Debug] > │                                                                              │

23:19:42 #15810 [Debug] > │                                 else                                         │

23:19:42 #15811 [Debug] > │                                                                              │

23:19:42 #15812 [Debug] > │                                     let v136 : float = v133 - 1.0            │

23:19:42 #15813 [Debug] > │                                                                              │

23:19:42 #15814 [Debug] > │                                     let v137 : bool = v136 = 0.0             │

23:19:42 #15815 [Debug] > │                                                                              │

23:19:42 #15816 [Debug] > │                                     if v137 then                             │

23:19:42 #15817 [Debug] > │                                                                              │

23:19:42 #15818 [Debug] > │                                         US0_1(0.0, 8.422578125E-06, 0.46,    │

23:19:42 #15819 [Debug] > │ 0.0018854742084416021, 0.0, 0.0, 0.0, 0.0, 0.0)                              │

23:19:42 #15820 [Debug] > │                                                                              │

23:19:42 #15821 [Debug] > │                                     else                                     │

23:19:42 #15822 [Debug] > │                                                                              │

23:19:42 #15823 [Debug] > │                                         let v139 : float = v136 - 1.0        │

23:19:42 #15824 [Debug] > │                                                                              │

23:19:42 #15825 [Debug] > │                                         let v140 : bool = v139 = 0.0         │

23:19:42 #15826 [Debug] > │                                                                              │

23:19:42 #15827 [Debug] > │                                         if v140 then                         │

23:19:42 #15828 [Debug] > │                                                                              │

23:19:42 #15829 [Debug] > │                                             US0_1(0.0, 8.422578125E-06,      │

23:19:42 #15830 [Debug] > │ 0.47000000000000003, 0.002534799269067953, 0.0, 0.0, 0.0, 0.0, 0.0)          │

23:19:42 #15831 [Debug] > │                                                                              │

23:19:42 #15832 [Debug] > │                                         else                                 │

23:19:42 #15833 [Debug] > │                                                                              │

23:19:42 #15834 [Debug] > │                                             let v142 : float = v139 - 1.0    │

23:19:42 #15835 [Debug] > │                                                                              │

23:19:42 #15836 [Debug] > │                                             let v143 : bool = v142 = 0.0     │

23:19:42 #15837 [Debug] > │                                                                              │

23:19:42 #15838 [Debug] > │                                             if v143 then                     │

23:19:42 #15839 [Debug] > │                                                                              │

23:19:42 #15840 [Debug] > │                                                 US0_1(0.0, 8.422578125E-06,  │

23:19:42 #15841 [Debug] > │ 0.48000000000000004, 0.003130925987691568, 0.0, 0.0, 0.0, 0.0, 0.0)          │

23:19:42 #15842 [Debug] > │                                                                              │

23:19:42 #15843 [Debug] > │                                             else                             │

23:19:42 #15844 [Debug] > │                                                                              │

23:19:42 #15845 [Debug] > │                                                 let v145 : float = v142 -    │

23:19:42 #15846 [Debug] > │ 1.0                                                                          │

23:19:42 #15847 [Debug] > │                                                                              │

23:19:42 #15848 [Debug] > │                                                 let v146 : bool = v145 = 0.0 │

23:19:42 #15849 [Debug] > │                                                                              │

23:19:42 #15850 [Debug] > │                                                 if v146 then                 │

23:19:42 #15851 [Debug] > │                                                                              │

23:19:42 #15852 [Debug] > │                                                     US0_1(0.0,               │

23:19:42 #15853 [Debug] > │ 8.422578125E-06, 0.49, 0.0036613433329888622, 0.0, 0.0, 0.0, 0.0, 0.0)       │

23:19:42 #15854 [Debug] > │                                                                              │

23:19:42 #15855 [Debug] > │                                                 else                         │

23:19:42 #15856 [Debug] > │                                                                              │

23:19:42 #15857 [Debug] > │                                                     let v148 : float = v145  │

23:19:42 #15858 [Debug] > │ - 1.0                                                                        │

23:19:42 #15859 [Debug] > │                                                                              │

23:19:42 #15860 [Debug] > │                                                     let v149 : bool = v148 = │

23:19:42 #15861 [Debug] > │ 0.0                                                                          │

23:19:42 #15862 [Debug] > │                                                                              │

23:19:42 #15863 [Debug] > │                                                     if v149 then             │

23:19:42 #15864 [Debug] > │                                                                              │

23:19:42 #15865 [Debug] > │                                                         US0_1(0.0,           │

23:19:42 #15866 [Debug] > │ 8.422578125E-06, 0.5, 0.0041149193294682815, 0.0, 0.0, 0.0, 0.0, 0.0)        │

23:19:42 #15867 [Debug] > │                                                                              │

23:19:42 #15868 [Debug] > │                                                     else                     │

23:19:42 #15869 [Debug] > │                                                                              │

23:19:42 #15870 [Debug] > │                                                         let v151 : float =   │

23:19:42 #15871 [Debug] > │ v148 - 1.0                                                                   │

23:19:42 #15872 [Debug] > │                                                                              │

23:19:42 #15873 [Debug] > │                                                         let v152 : bool =    │

23:19:42 #15874 [Debug] > │ v151 = 0.0                                                                   │

23:19:42 #15875 [Debug] > │                                                                              │

23:19:42 #15876 [Debug] > │                                                         if v152 then         │

23:19:42 #15877 [Debug] > │                                                                              │

23:19:42 #15878 [Debug] > │                                                             US0_1(0.0,       │

23:19:42 #15879 [Debug] > │ 8.422578125E-06, 0.51, 0.0044821346864785195, 0.0, 0.0, 0.0, 0.0, 0.0)       │

23:19:42 #15880 [Debug] > │                                                                              │

23:19:42 #15881 [Debug] > │                                                         else                 │

23:19:42 #15882 [Debug] > │                                                                              │

23:19:42 #15883 [Debug] > │                                                             let v154 : float │

23:19:42 #15884 [Debug] > │ = v151 - 1.0                                                                 │

23:19:42 #15885 [Debug] > │                                                                              │

23:19:42 #15886 [Debug] > │                                                             let v155 : bool  │

23:19:42 #15887 [Debug] > │ = v154 = 0.0                                                                 │

23:19:42 #15888 [Debug] > │                                                                              │

23:19:42 #15889 [Debug] > │                                                             if v155 then     │

23:19:42 #15890 [Debug] > │                                                                              │

23:19:42 #15891 [Debug] > │                                                                 US0_1(0.0,   │

23:19:42 #15892 [Debug] > │ 8.422578125E-06, 0.52, 0.004755282581475766, 0.0, 0.0, 0.0, 0.0, 0.0)        │

23:19:42 #15893 [Debug] > │                                                                              │

23:19:42 #15894 [Debug] > │                                                             else             │

23:19:42 #15895 [Debug] > │                                                                              │

23:19:42 #15896 [Debug] > │                                                                 let v157 :   │

23:19:42 #15897 [Debug] > │ float = v154 - 1.0                                                           │

23:19:42 #15898 [Debug] > │                                                                              │

23:19:42 #15899 [Debug] > │                                                                 let v158 :   │

23:19:42 #15900 [Debug] > │ bool = v157 = 0.0                                                            │

23:19:42 #15901 [Debug] > │                                                                              │

23:19:42 #15902 [Debug] > │                                                                 if v158 then │

23:19:42 #15903 [Debug] > │                                                                              │

23:19:42 #15904 [Debug] > │                                                                              │

23:19:42 #15905 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.53, 0.004928630404658255, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #15906 [Debug] > │ 0.0)                                                                         │

23:19:42 #15907 [Debug] > │                                                                              │

23:19:42 #15908 [Debug] > │                                                                 else         │

23:19:42 #15909 [Debug] > │                                                                              │

23:19:42 #15910 [Debug] > │                                                                     let v160 │

23:19:42 #15911 [Debug] > │ : float = v157 - 1.0                                                         │

23:19:42 #15912 [Debug] > │                                                                              │

23:19:42 #15913 [Debug] > │                                                                     let v161 │

23:19:42 #15914 [Debug] > │ : bool = v160 = 0.0                                                          │

23:19:42 #15915 [Debug] > │                                                                              │

23:19:42 #15916 [Debug] > │                                                                     if v161  │

23:19:42 #15917 [Debug] > │ then                                                                         │

23:19:42 #15918 [Debug] > │                                                                              │

23:19:42 #15919 [Debug] > │                                                                              │

23:19:42 #15920 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.54, 0.004998540070400965, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #15921 [Debug] > │ 0.0)                                                                         │

23:19:42 #15922 [Debug] > │                                                                              │

23:19:42 #15923 [Debug] > │                                                                     else     │

23:19:42 #15924 [Debug] > │                                                                              │

23:19:42 #15925 [Debug] > │                                                                         let  │

23:19:42 #15926 [Debug] > │ v163 : float = v160 - 1.0                                                    │

23:19:42 #15927 [Debug] > │                                                                              │

23:19:42 #15928 [Debug] > │                                                                         let  │

23:19:42 #15929 [Debug] > │ v164 : bool = v163 = 0.0                                                     │

23:19:42 #15930 [Debug] > │                                                                              │

23:19:42 #15931 [Debug] > │                                                                         if   │

23:19:42 #15932 [Debug] > │ v164 then                                                                    │

23:19:42 #15933 [Debug] > │                                                                              │

23:19:42 #15934 [Debug] > │                                                                              │

23:19:42 #15935 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.55, 0.004963544370490271, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #15936 [Debug] > │ 0.0)                                                                         │

23:19:42 #15937 [Debug] > │                                                                              │

23:19:42 #15938 [Debug] > │                                                                         else │

23:19:42 #15939 [Debug] > │                                                                              │

23:19:42 #15940 [Debug] > │                                                                              │

23:19:42 #15941 [Debug] > │ let v166 : float = v163 - 1.0                                                │

23:19:42 #15942 [Debug] > │                                                                              │

23:19:42 #15943 [Debug] > │                                                                              │

23:19:42 #15944 [Debug] > │ let v167 : bool = v166 = 0.0                                                 │

23:19:42 #15945 [Debug] > │                                                                              │

23:19:42 #15946 [Debug] > │                                                                              │

23:19:42 #15947 [Debug] > │ if v167 then                                                                 │

23:19:42 #15948 [Debug] > │                                                                              │

23:19:42 #15949 [Debug] > │                                                                              │

23:19:42 #15950 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.56, 0.004824377766717758, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #15951 [Debug] > │ 0.0)                                                                         │

23:19:42 #15952 [Debug] > │                                                                              │

23:19:42 #15953 [Debug] > │                                                                              │

23:19:42 #15954 [Debug] > │ else                                                                         │

23:19:42 #15955 [Debug] > │                                                                              │

23:19:42 #15956 [Debug] > │                                                                              │

23:19:42 #15957 [Debug] > │ let v169 : float = v166 - 1.0                                                │

23:19:42 #15958 [Debug] > │                                                                              │

23:19:42 #15959 [Debug] > │                                                                              │

23:19:42 #15960 [Debug] > │ let v170 : bool = v169 = 0.0                                                 │

23:19:42 #15961 [Debug] > │                                                                              │

23:19:42 #15962 [Debug] > │                                                                              │

23:19:42 #15963 [Debug] > │ if v170 then                                                                 │

23:19:42 #15964 [Debug] > │                                                                              │

23:19:42 #15965 [Debug] > │                                                                              │

23:19:42 #15966 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.5700000000000001, 0.004583960976582912, 0.0,   │

23:19:42 #15967 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15968 [Debug] > │                                                                              │

23:19:42 #15969 [Debug] > │                                                                              │

23:19:42 #15970 [Debug] > │ else                                                                         │

23:19:42 #15971 [Debug] > │                                                                              │

23:19:42 #15972 [Debug] > │                                                                              │

23:19:42 #15973 [Debug] > │ let v172 : float = v169 - 1.0                                                │

23:19:42 #15974 [Debug] > │                                                                              │

23:19:42 #15975 [Debug] > │                                                                              │

23:19:42 #15976 [Debug] > │ let v173 : bool = v172 = 0.0                                                 │

23:19:42 #15977 [Debug] > │                                                                              │

23:19:42 #15978 [Debug] > │                                                                              │

23:19:42 #15979 [Debug] > │ if v173 then                                                                 │

23:19:42 #15980 [Debug] > │                                                                              │

23:19:42 #15981 [Debug] > │                                                                              │

23:19:42 #15982 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.5800000000000001, 0.004247339675607605, 0.0,   │

23:19:42 #15983 [Debug] > │ 0.0, 0.0, 0.0, 0.0)                                                          │

23:19:42 #15984 [Debug] > │                                                                              │

23:19:42 #15985 [Debug] > │                                                                              │

23:19:42 #15986 [Debug] > │ else                                                                         │

23:19:42 #15987 [Debug] > │                                                                              │

23:19:42 #15988 [Debug] > │                                                                              │

23:19:42 #15989 [Debug] > │ let v175 : float = v172 - 1.0                                                │

23:19:42 #15990 [Debug] > │                                                                              │

23:19:42 #15991 [Debug] > │                                                                              │

23:19:42 #15992 [Debug] > │ let v176 : bool = v175 = 0.0                                                 │

23:19:42 #15993 [Debug] > │                                                                              │

23:19:42 #15994 [Debug] > │                                                                              │

23:19:42 #15995 [Debug] > │ if v176 then                                                                 │

23:19:42 #15996 [Debug] > │                                                                              │

23:19:42 #15997 [Debug] > │                                                                              │

23:19:42 #15998 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.59, 0.003821578602729245, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #15999 [Debug] > │ 0.0)                                                                         │

23:19:42 #16000 [Debug] > │                                                                              │

23:19:42 #16001 [Debug] > │                                                                              │

23:19:42 #16002 [Debug] > │ else                                                                         │

23:19:42 #16003 [Debug] > │                                                                              │

23:19:42 #16004 [Debug] > │                                                                              │

23:19:42 #16005 [Debug] > │ let v178 : float = v175 - 1.0                                                │

23:19:42 #16006 [Debug] > │                                                                              │

23:19:42 #16007 [Debug] > │                                                                              │

23:19:42 #16008 [Debug] > │ let v179 : bool = v178 = 0.0                                                 │

23:19:42 #16009 [Debug] > │                                                                              │

23:19:42 #16010 [Debug] > │                                                                              │

23:19:42 #16011 [Debug] > │ if v179 then                                                                 │

23:19:42 #16012 [Debug] > │                                                                              │

23:19:42 #16013 [Debug] > │                                                                              │

23:19:42 #16014 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.6, 0.0033156132912039783, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #16015 [Debug] > │ 0.0)                                                                         │

23:19:42 #16016 [Debug] > │                                                                              │

23:19:42 #16017 [Debug] > │                                                                              │

23:19:42 #16018 [Debug] > │ else                                                                         │

23:19:42 #16019 [Debug] > │                                                                              │

23:19:42 #16020 [Debug] > │                                                                              │

23:19:42 #16021 [Debug] > │ let v181 : float = v178 - 1.0                                                │

23:19:42 #16022 [Debug] > │                                                                              │

23:19:42 #16023 [Debug] > │                                                                              │

23:19:42 #16024 [Debug] > │ let v182 : bool = v181 = 0.0                                                 │

23:19:42 #16025 [Debug] > │                                                                              │

23:19:42 #16026 [Debug] > │                                                                              │

23:19:42 #16027 [Debug] > │ if v182 then                                                                 │

23:19:42 #16028 [Debug] > │                                                                              │

23:19:42 #16029 [Debug] > │                                                                              │

23:19:42 #16030 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.61, 0.0027400625367733585, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #16031 [Debug] > │ 0.0)                                                                         │

23:19:42 #16032 [Debug] > │                                                                              │

23:19:42 #16033 [Debug] > │                                                                              │

23:19:42 #16034 [Debug] > │ else                                                                         │

23:19:42 #16035 [Debug] > │                                                                              │

23:19:42 #16036 [Debug] > │                                                                              │

23:19:42 #16037 [Debug] > │ let v184 : float = v181 - 1.0                                                │

23:19:42 #16038 [Debug] > │                                                                              │

23:19:42 #16039 [Debug] > │                                                                              │

23:19:42 #16040 [Debug] > │ let v185 : bool = v184 = 0.0                                                 │

23:19:42 #16041 [Debug] > │                                                                              │

23:19:42 #16042 [Debug] > │                                                                              │

23:19:42 #16043 [Debug] > │ if v185 then                                                                 │

23:19:42 #16044 [Debug] > │                                                                              │

23:19:42 #16045 [Debug] > │                                                                              │

23:19:42 #16046 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.62, 0.0021070055388626528, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #16047 [Debug] > │ 0.0)                                                                         │

23:19:42 #16048 [Debug] > │                                                                              │

23:19:42 #16049 [Debug] > │                                                                              │

23:19:42 #16050 [Debug] > │ else                                                                         │

23:19:42 #16051 [Debug] > │                                                                              │

23:19:42 #16052 [Debug] > │                                                                              │

23:19:42 #16053 [Debug] > │ let v187 : float = v184 - 1.0                                                │

23:19:42 #16054 [Debug] > │                                                                              │

23:19:42 #16055 [Debug] > │                                                                              │

23:19:42 #16056 [Debug] > │ let v188 : bool = v187 = 0.0                                                 │

23:19:42 #16057 [Debug] > │                                                                              │

23:19:42 #16058 [Debug] > │                                                                              │

23:19:42 #16059 [Debug] > │ if v188 then                                                                 │

23:19:42 #16060 [Debug] > │                                                                              │

23:19:42 #16061 [Debug] > │                                                                              │

23:19:42 #16062 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.63, 0.001429728391993452, 0.0, 0.0, 0.0, 0.0,  │

23:19:42 #16063 [Debug] > │ 0.0)                                                                         │

23:19:42 #16064 [Debug] > │                                                                              │

23:19:42 #16065 [Debug] > │                                                                              │

23:19:42 #16066 [Debug] > │ else                                                                         │

23:19:42 #16067 [Debug] > │                                                                              │

23:19:42 #16068 [Debug] > │                                                                              │

23:19:42 #16069 [Debug] > │ let v190 : float = v187 - 1.0                                                │

23:19:42 #16070 [Debug] > │                                                                              │

23:19:42 #16071 [Debug] > │                                                                              │

23:19:42 #16072 [Debug] > │ let v191 : bool = v190 = 0.0                                                 │

23:19:42 #16073 [Debug] > │                                                                              │

23:19:42 #16074 [Debug] > │                                                                              │

23:19:42 #16075 [Debug] > │ if v191 then                                                                 │

23:19:42 #16076 [Debug] > │                                                                              │

23:19:42 #16077 [Debug] > │                                                                              │

23:19:42 #16078 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.64, 0.0007224452478461016, 0.0, 0.0, 0.0, 0.0, │

23:19:42 #16079 [Debug] > │ 0.0)                                                                         │

23:19:42 #16080 [Debug] > │                                                                              │

23:19:42 #16081 [Debug] > │                                                                              │

23:19:42 #16082 [Debug] > │ else                                                                         │

23:19:42 #16083 [Debug] > │                                                                              │

23:19:42 #16084 [Debug] > │                                                                              │

23:19:42 #16085 [Debug] > │ let v193 : float = v190 - 1.0                                                │

23:19:42 #16086 [Debug] > │                                                                              │

23:19:42 #16087 [Debug] > │                                                                              │

23:19:42 #16088 [Debug] > │ US0_0                                                                        │

23:19:42 #16089 [Debug] > │     match v258 with                                                          │

23:19:42 #16090 [Debug] > │     | US0_0 -> (* None *)                                                    │

23:19:42 #16091 [Debug] > │         v0                                                                   │

23:19:42 #16092 [Debug] > │     | US0_1(v259, v260, v261, v262, v263, v264, v265, v266, v267) -> (* Some │

23:19:42 #16093 [Debug] > │ *)                                                                           │

23:19:42 #16094 [Debug] > │         let v268 : UH2 = UH2_0(v261, v262, v263, v0)                         │

23:19:42 #16095 [Debug] > │         let v269 : float = v1 + 1.0                                          │

23:19:42 #16096 [Debug] > │         method2(v268, v269)                                                  │

23:19:42 #16097 [Debug] > │ and method3 (v0 : UH2, v1 : UH2) : UH2 =                                     │

23:19:42 #16098 [Debug] > │     match v0 with                                                            │

23:19:42 #16099 [Debug] > │     | UH2_0(v2, v3, v4, v5) -> (* Cons *)                                    │

23:19:42 #16100 [Debug] > │         let v6 : UH2 = UH2_0(v2, v3, v4, v1)                                 │

23:19:42 #16101 [Debug] > │         method3(v5, v6)                                                      │

23:19:42 #16102 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:42 #16103 [Debug] > │         v1                                                                   │

23:19:42 #16104 [Debug] > │ and method4 (v0 : UH2, v1 : UH2) : UH2 =                                     │

23:19:42 #16105 [Debug] > │     match v0 with                                                            │

23:19:42 #16106 [Debug] > │     | UH2_0(v2, v3, v4, v5) -> (* Cons *)                                    │

23:19:42 #16107 [Debug] > │         let v6 : UH2 = method4(v5, v1)                                       │

23:19:42 #16108 [Debug] > │         UH2_0(v2, v3, v4, v6)                                                │

23:19:42 #16109 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:42 #16110 [Debug] > │         v1                                                                   │

23:19:42 #16111 [Debug] > │ and method5 (v0 : UH2, v1 : UH3) : UH3 =                                     │

23:19:42 #16112 [Debug] > │     match v0 with                                                            │

23:19:42 #16113 [Debug] > │     | UH2_0(v2, v3, v4, v5) -> (* Cons *)                                    │

23:19:42 #16114 [Debug] > │         let v6 : UH3 = method5(v5, v1)                                       │

23:19:42 #16115 [Debug] > │         UH3_0(v2, v3, v6)                                                    │

23:19:42 #16116 [Debug] > │     | UH2_1 -> (* Nil *)                                                     │

23:19:42 #16117 [Debug] > │         v1                                                                   │

23:19:42 #16118 [Debug] > │ and method6 (v0 : UH3, v1 : UH0, v2 : UH0) : struct (UH0 * UH0) =            │

23:19:42 #16119 [Debug] > │     match v0 with                                                            │

23:19:42 #16120 [Debug] > │     | UH3_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:42 #16121 [Debug] > │         let v6 : UH0 = UH0_0(v3, v1)                                         │

23:19:42 #16122 [Debug] > │         let v7 : UH0 = UH0_0(v4, v2)                                         │

23:19:42 #16123 [Debug] > │         method6(v5, v6, v7)                                                  │

23:19:42 #16124 [Debug] > │     | UH3_1 -> (* Nil *)                                                     │

23:19:42 #16125 [Debug] > │         struct (v1, v2)                                                      │

23:19:42 #16126 [Debug] > │ and method7 (v0 : UH0, v1 : UH0) : UH0 =                                     │

23:19:42 #16127 [Debug] > │     match v0 with                                                            │

23:19:42 #16128 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:42 #16129 [Debug] > │         let v4 : UH0 = UH0_0(v2, v1)                                         │

23:19:42 #16130 [Debug] > │         method7(v3, v4)                                                      │

23:19:42 #16131 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:42 #16132 [Debug] > │         v1                                                                   │

23:19:42 #16133 [Debug] > │ and method9 (v0 : UH0, v1 : int32) : int32 =                                 │

23:19:42 #16134 [Debug] > │     match v0 with                                                            │

23:19:42 #16135 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:42 #16136 [Debug] > │         let v4 : int32 = v1 + 1                                              │

23:19:42 #16137 [Debug] > │         method9(v3, v4)                                                      │

23:19:42 #16138 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:42 #16139 [Debug] > │         v1                                                                   │

23:19:42 #16140 [Debug] > │ and method10 (v0 : (float []), v1 : UH0, v2 : int32) : int32 =               │

23:19:42 #16141 [Debug] > │     match v1 with                                                            │

23:19:42 #16142 [Debug] > │     | UH0_0(v3, v4) -> (* Cons *)                                            │

23:19:42 #16143 [Debug] > │         v0.[int v2] <- v3                                                    │

23:19:42 #16144 [Debug] > │         let v5 : int32 = v2 + 1                                              │

23:19:42 #16145 [Debug] > │         method10(v0, v4, v5)                                                 │

23:19:42 #16146 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:42 #16147 [Debug] > │         v2                                                                   │

23:19:42 #16148 [Debug] > │ and method8 (v0 : UH0) : (float []) =                                        │

23:19:42 #16149 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:42 #16150 [Debug] > │     let v2 : int32 = method9(v0, v1)                                         │

23:19:42 #16151 [Debug] > │     let v3 : (float []) = Array.zeroCreate<float> (v2)                       │

23:19:42 #16152 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:42 #16153 [Debug] > │     let v5 : int32 = method10(v3, v0, v4)                                    │

23:19:42 #16154 [Debug] > │     v3                                                                       │

23:19:42 #16155 [Debug] > │ and method1 (v0 : UH0, v1 : UH1) : UH1 =                                     │

23:19:42 #16156 [Debug] > │     match v0 with                                                            │

23:19:42 #16157 [Debug] > │     | UH0_0(v2, v3) -> (* Cons *)                                            │

23:19:42 #16158 [Debug] > │         let v4 : UH1 = method1(v3, v1)                                       │

23:19:42 #16159 [Debug] > │         let v5 : UH2 = UH2_1                                                 │

23:19:42 #16160 [Debug] > │         let v6 : float = 0.0                                                 │

23:19:42 #16161 [Debug] > │         let v7 : UH2 = method2(v5, v6)                                       │

23:19:42 #16162 [Debug] > │         let v8 : UH2 = UH2_1                                                 │

23:19:42 #16163 [Debug] > │         let v9 : UH2 = method3(v7, v8)                                       │

23:19:42 #16164 [Debug] > │         let v10 : float = 0.65                                               │

23:19:42 #16165 [Debug] > │         let v11 : float = 0.0                                                │

23:19:42 #16166 [Debug] > │         let v12 : float = 0.0                                                │

23:19:42 #16167 [Debug] > │         let v13 : UH2 = UH2_1                                                │

23:19:42 #16168 [Debug] > │         let v14 : UH2 = UH2_0(v10, v11, v12, v13)                            │

23:19:42 #16169 [Debug] > │         let v15 : UH2 = method4(v9, v14)                                     │

23:19:42 #16170 [Debug] > │         let v16 : UH3 = UH3_1                                                │

23:19:42 #16171 [Debug] > │         let v17 : UH3 = method5(v15, v16)                                    │

23:19:42 #16172 [Debug] > │         let v18 : float = 0.0                                                │

23:19:42 #16173 [Debug] > │         let v19 : UH0 = UH0_1                                                │

23:19:42 #16174 [Debug] > │         let v20 : UH0 = UH0_0(v18, v19)                                      │

23:19:42 #16175 [Debug] > │         let v21 : float = 0.0                                                │

23:19:42 #16176 [Debug] > │         let v22 : UH0 = UH0_1                                                │

23:19:42 #16177 [Debug] > │         let v23 : UH0 = UH0_0(v21, v22)                                      │

23:19:42 #16178 [Debug] > │         let struct (v24 : UH0, v25 : UH0) = method6(v17, v20, v23)           │

23:19:42 #16179 [Debug] > │         let v26 : UH0 = UH0_1                                                │

23:19:42 #16180 [Debug] > │         let v27 : UH0 = method7(v24, v26)                                    │

23:19:42 #16181 [Debug] > │         let v28 : UH0 = UH0_1                                                │

23:19:42 #16182 [Debug] > │         let v29 : UH0 = method7(v25, v28)                                    │

23:19:42 #16183 [Debug] > │         let v30 : (float []) = method8(v27)                                  │

23:19:42 #16184 [Debug] > │         let v31 : (float []) = method8(v29)                                  │

23:19:42 #16185 [Debug] > │         UH1_0(v30, v31, v4)                                                  │

23:19:42 #16186 [Debug] > │     | UH0_1 -> (* Nil *)                                                     │

23:19:42 #16187 [Debug] > │         v1                                                                   │

23:19:42 #16188 [Debug] > │ and method12 (v0 : UH1, v1 : int32) : int32 =                                │

23:19:42 #16189 [Debug] > │     match v0 with                                                            │

23:19:42 #16190 [Debug] > │     | UH1_0(v2, v3, v4) -> (* Cons *)                                        │

23:19:42 #16191 [Debug] > │         let v5 : int32 = v1 + 1                                              │

23:19:42 #16192 [Debug] > │         method12(v4, v5)                                                     │

23:19:42 #16193 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:42 #16194 [Debug] > │         v1                                                                   │

23:19:42 #16195 [Debug] > │ and method13 (v0 : (struct ((float []) * (float [])) []), v1 : UH1, v2 :     │

23:19:42 #16196 [Debug] > │ int32) : int32 =                                                             │

23:19:42 #16197 [Debug] > │     match v1 with                                                            │

23:19:42 #16198 [Debug] > │     | UH1_0(v3, v4, v5) -> (* Cons *)                                        │

23:19:42 #16199 [Debug] > │         v0.[int v2] <- struct (v3, v4)                                       │

23:19:42 #16200 [Debug] > │         let v6 : int32 = v2 + 1                                              │

23:19:42 #16201 [Debug] > │         method13(v0, v5, v6)                                                 │

23:19:42 #16202 [Debug] > │     | UH1_1 -> (* Nil *)                                                     │

23:19:42 #16203 [Debug] > │         v2                                                                   │

23:19:42 #16204 [Debug] > │ and method11 (v0 : UH1) : (struct ((float []) * (float [])) []) =            │

23:19:42 #16205 [Debug] > │     let v1 : int32 = 0                                                       │

23:19:42 #16206 [Debug] > │     let v2 : int32 = method12(v0, v1)                                        │

23:19:42 #16207 [Debug] > │     let v3 : (struct ((float []) * (float [])) []) = Array.zeroCreate<struct │

23:19:42 #16208 [Debug] > │ ((float []) * (float []))> (v2)                                              │

23:19:42 #16209 [Debug] > │     let v4 : int32 = 0                                                       │

23:19:42 #16210 [Debug] > │     let v5 : int32 = method13(v3, v0, v4)                                    │

23:19:42 #16211 [Debug] > │     v3                                                                       │

23:19:42 #16212 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │

23:19:42 #16213 [Debug] > │ []) * (float [])) [])) =                                                     │

23:19:42 #16214 [Debug] > │     let v0 : float = 0.0                                                     │

23:19:42 #16215 [Debug] > │     let v1 : float = 1.0                                                     │

23:19:42 #16216 [Debug] > │     let v2 : float = 2.0                                                     │

23:19:42 #16217 [Debug] > │     let v3 : float = 3.0                                                     │

23:19:42 #16218 [Debug] > │     let v4 : float = 4.0                                                     │

23:19:42 #16219 [Debug] > │     let v5 : float = 5.0                                                     │

23:19:42 #16220 [Debug] > │     let v6 : float = 6.0                                                     │

23:19:42 #16221 [Debug] > │     let v7 : float = 7.0                                                     │

23:19:42 #16222 [Debug] > │     let v8 : float = 8.0                                                     │

23:19:42 #16223 [Debug] > │     let v9 : float = 9.0                                                     │

23:19:42 #16224 [Debug] > │     let v10 : UH0 = UH0_1                                                    │

23:19:42 #16225 [Debug] > │     let v11 : UH0 = UH0_0(v9, v10)                                           │

23:19:42 #16226 [Debug] > │     let v12 : UH0 = UH0_0(v8, v11)                                           │

23:19:42 #16227 [Debug] > │     let v13 : UH0 = UH0_0(v7, v12)                                           │

23:19:42 #16228 [Debug] > │     let v14 : UH0 = UH0_0(v6, v13)                                           │

23:19:42 #16229 [Debug] > │     let v15 : UH0 = UH0_0(v5, v14)                                           │

23:19:42 #16230 [Debug] > │     let v16 : UH0 = UH0_0(v4, v15)                                           │

23:19:42 #16231 [Debug] > │     let v17 : UH0 = UH0_0(v3, v16)                                           │

23:19:42 #16232 [Debug] > │     let v18 : UH0 = UH0_0(v2, v17)                                           │

23:19:42 #16233 [Debug] > │     let v19 : UH0 = UH0_0(v1, v18)                                           │

23:19:42 #16234 [Debug] > │     let v20 : UH0 = UH0_0(v0, v19)                                           │

23:19:42 #16235 [Debug] > │     let v21 : UH1 = UH1_1                                                    │

23:19:42 #16236 [Debug] > │     let v22 : UH1 = method1(v20, v21)                                        │

23:19:42 #16237 [Debug] > │     let v23 : (struct ((float []) * (float [])) []) = method11(v22)          │

23:19:42 #16238 [Debug] > │     let struct (v24 : (float []), v25 : (float [])) = v23.[int 0]            │

23:19:42 #16239 [Debug] > │     let v26 : string = $"{0}"                                                │

23:19:42 #16240 [Debug] > │     let v27 : (struct (string * (float []) * (float [])) []) = [|struct      │

23:19:42 #16241 [Debug] > │ (v26, v24, v25)|]                                                            │

23:19:42 #16242 [Debug] > │     let v28 : string = "wave"                                                │

23:19:42 #16243 [Debug] > │     let v29 : string = "position (m)"                                        │

23:19:42 #16244 [Debug] > │     let v30 : string = "displacement (m)"                                    │

23:19:42 #16245 [Debug] > │     struct (v28, v29, v30, v27)                                              │

23:19:42 #16246 [Debug] > │ method0()                                                                    │

23:19:42 #16247 [Debug] > │                                                                              │

23:19:42 #16248 [Debug] > │                                                                              │

23:19:42 #16249 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:42 #16250 [Debug] >

23:19:42 #16251 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────

23:19:42 #16252 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮

23:19:42 #16253 [Debug] > │ ## end                                                                       │

23:19:42 #16254 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯

23:19:45 #16255 [Debug] > [NbConvertApp] Converting notebook physics.dib.ipynb to html

23:19:45 #16256 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

23:19:45 #16257 [Debug] >   validate(nb)

23:19:46 #16258 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

23:19:46 #16259 [Debug] >   return _pygments_highlight(

23:19:48 #16260 [Debug] > [NbConvertApp] Writing 1155952 bytes to physics.dib.html

23:19:49 #16261 [Debug] executeAsync / exitCode: 0 / proc.Id: 79796 / output.Length: 1210429

23:19:49 #16262 [Debug] main / executeCommand / exitCode: 0

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: listm'.dib

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: console.dib

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: testing.dib

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: am'.dib

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: common.dib

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: optionm'.dib

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: seq.dib

23:19:49 #1 [Debug] writeDibCode / output: Spi / path: math.dib

23:19:49 #6 [Debug] parseDibCode / output: Spi / file: common.dib

23:19:49 #8 [Debug] parseDibCode / output: Spi / file: seq.dib

23:19:49 #3 [Debug] parseDibCode / output: Spi / file: listm'.dib

23:19:49 #5 [Debug] parseDibCode / output: Spi / file: am'.dib

23:19:49 #7 [Debug] parseDibCode / output: Spi / file: optionm'.dib

23:19:49 #4 [Debug] parseDibCode / output: Spi / file: testing.dib

23:19:49 #9 [Debug] parseDibCode / output: Spi / file: math.dib

23:19:49 #2 [Debug] parseDibCode / output: Spi / file: console.dib

23:19:49 #11 [Debug] writeDibCode / output: Spi / path: physics.dib

23:19:49 #11 [Debug] writeDibCode / output: Spi / path: util.dib

23:19:49 #13 [Debug] parseDibCode / output: Spi / file: util.dib

23:19:49 #12 [Debug] parseDibCode / output: Spi / file: physics.dib

In [ ]:
{ . "$ScriptDir/../apps/chat/build.ps1" } | Invoke-Block
   Compiling chat v0.0.1 (C:\home\git\polyglot\apps\chat\contract)

    Finished release [optimized] target(s) in 11.42s

## 7

   Compiling typenum v1.17.0

   Compiling rustix v0.38.17

   Compiling generic-array v0.14.7

   Compiling crypto-common v0.1.6

   Compiling block-buffer v0.10.4

   Compiling inout v0.1.3

   Compiling cipher v0.4.4

   Compiling digest v0.10.7

   Compiling hmac v0.12.1

   Compiling sha2 v0.10.8

   Compiling sha1 v0.10.6

   Compiling aes v0.8.3

   Compiling which v4.4.2

   Compiling tempfile v3.8.0

   Compiling pbkdf2 v0.11.0

   Compiling prost-build v0.9.0

   Compiling zip v0.6.6

   Compiling is-terminal v0.4.9

   Compiling colored v2.0.4

   Compiling binary-install v0.2.0

   Compiling cargo-near v0.3.1

   Compiling near-sandbox-utils v0.7.0

   Compiling near-workspaces v0.7.0 (https://github.com/near/workspaces-rs#bc208e91)

   Compiling tonic-build v0.6.2

   Compiling opentelemetry-otlp v0.10.0

   Compiling near-o11y v0.17.0

   Compiling near-chain-configs v0.17.0

   Compiling near-jsonrpc-primitives v0.17.0

   Compiling near-jsonrpc-client v0.6.0

   Compiling chat v0.0.1 (/mnt/c/home/git/polyglot/apps/chat/tests)

    Finished release [optimized] target(s) in 5m 04s

     Running `target/release/chat`





new: ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 5297202239742,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 92FR7s8C28qDfpN9oUMibHJ3dH9rKJqRqCofn3muq4HA,

        block_hash: Eup42vFrXNGpLd18L9FMVEdbXzyypp1p3nUq6By7N1sr,

        logs: [],

        receipt_ids: [

            Fkb4HG8akA3P1jdcwhrWqjivmXBMvbd2ovrrnWdnTuQ3,

        ],

        gas_burnt: NearGas {

            inner: 2427927707802,

        },

        tokens_burnt: 242792770780200000000,

        executor_id: AccountId(

            "dev-20231009032529-34156128109783",

        ),

        status: SuccessReceiptId(Fkb4HG8akA3P1jdcwhrWqjivmXBMvbd2ovrrnWdnTuQ3),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: Fkb4HG8akA3P1jdcwhrWqjivmXBMvbd2ovrrnWdnTuQ3,

            block_hash: Eup42vFrXNGpLd18L9FMVEdbXzyypp1p3nUq6By7N1sr,

            logs: [],

            receipt_ids: [

                Ht9HVF58Z8WUhh5YX5MH5rA3EhoEqCvxL2PSYCTTzLAZ,

            ],

            gas_burnt: NearGas {

                inner: 2646091969440,

            },

            tokens_burnt: 264609196944000000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: Ht9HVF58Z8WUhh5YX5MH5rA3EhoEqCvxL2PSYCTTzLAZ,

            block_hash: 5urK3vrjgXPJYNkiJ92rJmesydZzWHyLEnTVCN83RjQm,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.003538531096147656

outcome (success: true):

  outcome_gas_burnt_usd: 0.001621855708811736

  outcome_tokens_burnt_usd: 0.001621855708811736

outcome (success: true):

  outcome_gas_burnt_usd: 0.0017675894355859202

  outcome_tokens_burnt_usd: 0.0017675894355859202

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





claim_alias(contract, ''): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 5294316372448,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 9ZzDPRCDnK88mU7wyQjJu1H6RyhBQcdbGjQ1YcdcFCd9,

        block_hash: D6enUjrXq3YhYPnCnogGBMN8p9FbxRbKASzfC1cBegUQ,

        logs: [],

        receipt_ids: [

            2PTi74uBmGh3cMQhBFAgqaGnNCrXWTxxTskb89gBN8AE,

        ],

        gas_burnt: NearGas {

            inner: 2427972426482,

        },

        tokens_burnt: 242797242648200000000,

        executor_id: AccountId(

            "dev-20231009032529-34156128109783",

        ),

        status: SuccessReceiptId(2PTi74uBmGh3cMQhBFAgqaGnNCrXWTxxTskb89gBN8AE),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: 2PTi74uBmGh3cMQhBFAgqaGnNCrXWTxxTskb89gBN8AE,

            block_hash: D6enUjrXq3YhYPnCnogGBMN8p9FbxRbKASzfC1cBegUQ,

            logs: [

                "claim_alias / alias: \"\" / account_id: AccountId(\n    \"dev-20231009032529-34156128109783\",\n) / timestamp: 1696821931917734941",

            ],

            receipt_ids: [

                3daedB8nCvmWdJVzysqyb5Kvj9CpAGHsxYN7E3QNDKA8,

            ],

            gas_burnt: NearGas {

                inner: 2643161383466,

            },

            tokens_burnt: 264316138346600000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })),

        },

        ExecutionOutcome {

            transaction_hash: 3daedB8nCvmWdJVzysqyb5Kvj9CpAGHsxYN7E3QNDKA8,

            block_hash: 3herhguRmbrgCGK7w5zH8hWh6mtkaQzoexLciBNwZi5d,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

    ],

    status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })),

}

total_gas_burnt_usd: 0.003536603336795264

outcome (success: true):

  outcome_gas_burnt_usd: 0.001621885580889976

  outcome_tokens_burnt_usd: 0.0016218855808899759

outcome (success: false):

  outcome_gas_burnt_usd: 0.001765631804155288

  outcome_tokens_burnt_usd: 0.001765631804155288

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





dev_create_account(account1): Account {

    id: AccountId(

        "dev-20231009032532-24459569426199",

    ),

}





generate_cid_borsh(account1): ViewResultDetails {

    result: [

        59,

        0,

        0,

        0,

        98,

        97,

        102,

        107,

        114,

        101,

        105,

        104,

        100,

        119,

        100,

        99,

        101,

        102,

        103,

        104,

        52,

        100,

        113,

        107,

        106,

        118,

        54,

        55,

        117,

        122,

        99,

        109,

        119,

        55,

        111,

        106,

        101,

        101,

        54,

        120,

        101,

        100,

        122,

        100,

        101,

        116,

        111,

        106,

        117,

        122,

        106,

        101,

        118,

        116,

        101,

        110,

        120,

        113,

        117,

        118,

        121,

        107,

        117,

    ],

    logs: [],

}





claim_alias(account1, alias1): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 5921610375085,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 9T52NAsiNy2xqGkKnMH8GwDVzPNBGHGLR3VSpZGBUZpU,

        block_hash: AEWq688yLYsp8eBZGvSNfE4EtGBse3ZNfqZ895R21YB6,

        logs: [],

        receipt_ids: [

            4vVUKUZxvVSZP3nBEWaKR5KsmGxbY62vKdV6eiaHzRzo,

        ],

        gas_burnt: NearGas {

            inner: 2427985842086,

        },

        tokens_burnt: 242798584208600000000,

        executor_id: AccountId(

            "dev-20231009032532-24459569426199",

        ),

        status: SuccessReceiptId(4vVUKUZxvVSZP3nBEWaKR5KsmGxbY62vKdV6eiaHzRzo),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: 4vVUKUZxvVSZP3nBEWaKR5KsmGxbY62vKdV6eiaHzRzo,

            block_hash: 9bqtQW2Tr1Dvi41i5xCyr6AUAhuTCvQ6P1YLubbwWdmr,

            logs: [

                "claim_alias / alias: \"alias1\" / account_id: AccountId(\n    \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821933744980771",

            ],

            receipt_ids: [

                4sxP3NS1qarwCASk66nSosa23LdJQpbHG4cqmRMHBocr,

            ],

            gas_burnt: NearGas {

                inner: 3270441970499,

            },

            tokens_burnt: 327044197049900000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: 4sxP3NS1qarwCASk66nSosa23LdJQpbHG4cqmRMHBocr,

            block_hash: 8JVSjnXur69cEyB1kpy2n6SDyQNHJ9mpWTBpocZPgvni,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032532-24459569426199",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.00395563573055678

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016218945425134478

  outcome_tokens_burnt_usd: 0.001621894542513448

outcome (success: true):

  outcome_gas_burnt_usd: 0.002184655236293332

  outcome_tokens_burnt_usd: 0.002184655236293332

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





claim_alias(account1, alias1): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 5563610915440,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 6pvAh6qtUW8FyXN2eAJm21G9acCqapKXsH8AdhGBhNBH,

        block_hash: HtCCk2j3iQqzG9GYs1sEvg5m4hugqu1BknUCsLyow7K2,

        logs: [],

        receipt_ids: [

            BNFswYouMKx5myGXepWH2T4weAC9L1w2kx3PnmmRrZYp,

        ],

        gas_burnt: NearGas {

            inner: 2427985842086,

        },

        tokens_burnt: 242798584208600000000,

        executor_id: AccountId(

            "dev-20231009032532-24459569426199",

        ),

        status: SuccessReceiptId(BNFswYouMKx5myGXepWH2T4weAC9L1w2kx3PnmmRrZYp),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: BNFswYouMKx5myGXepWH2T4weAC9L1w2kx3PnmmRrZYp,

            block_hash: 7XweA3LV7LzeD55pbNHywhFkEWH1nuj9eR4skdKgEKyy,

            logs: [

                "claim_alias / alias: \"alias1\" / account_id: AccountId(\n    \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821934758064976",

                "Alias already claimed",

            ],

            receipt_ids: [

                HQsTv84oFZVM9UqrDcGR2aq3XJNpPYu6VzZhdouCJHhF,

            ],

            gas_burnt: NearGas {

                inner: 2912442510854,

            },

            tokens_burnt: 291244251085400000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: HQsTv84oFZVM9UqrDcGR2aq3XJNpPYu6VzZhdouCJHhF,

            block_hash: 5yX7WTWcaozm6PxYqp2vTeXMZeE2YyxJPu5f4nfU97Th,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032532-24459569426199",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.00371649209151392

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016218945425134478

  outcome_tokens_burnt_usd: 0.001621894542513448

outcome (success: true):

  outcome_gas_burnt_usd: 0.001945511597250472

  outcome_tokens_burnt_usd: 0.001945511597250472

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





get_account_info(account1): Some(

    (

        "alias1",

        (

            1696821933744980771,

            0,

        ),

    ),

)





get_alias_map(account1, alias1): Some(

    {

        AccountId(

            "dev-20231009032532-24459569426199",

        ): (

            1696821933744980771,

            0,

        ),

    },

)





dev_create_account(account2): Account {

    id: AccountId(

        "dev-20231009032535-44234373086413",

    ),

}





claim_alias(alias2): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 6029622110641,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 2puXA6N53cTAJcfdkdKQrVTxRvvubPfLWX58Gt5cpqp4,

        block_hash: 49UozmG3Q6NkpXaJkFsWq93Fe7sxEx4Tndm4ZVNdvZnW,

        logs: [],

        receipt_ids: [

            FHExDDC7YiKx6jbcmEdrG38Jhwf8hCLcn5meMcG9wQ6x,

        ],

        gas_burnt: NearGas {

            inner: 2427985842086,

        },

        tokens_burnt: 242798584208600000000,

        executor_id: AccountId(

            "dev-20231009032535-44234373086413",

        ),

        status: SuccessReceiptId(FHExDDC7YiKx6jbcmEdrG38Jhwf8hCLcn5meMcG9wQ6x),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: FHExDDC7YiKx6jbcmEdrG38Jhwf8hCLcn5meMcG9wQ6x,

            block_hash: 3L8zdyQ6HbyASLKk4ygGthf8uCwDCi5dX4WzXNfmhoEu,

            logs: [

                "claim_alias / alias: \"alias2\" / account_id: AccountId(\n    \"dev-20231009032535-44234373086413\",\n) / timestamp: 1696821936784450974",

            ],

            receipt_ids: [

                2HbsP9icQXpfTVmdkEB95T3D93Gt2A4HDWMjgUQkZvP6,

            ],

            gas_burnt: NearGas {

                inner: 3378453706055,

            },

            tokens_burnt: 337845370605500000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: 2HbsP9icQXpfTVmdkEB95T3D93Gt2A4HDWMjgUQkZvP6,

            block_hash: 4gLFikGNG66kqoPTkTEsJ73zUX1UTMquMLceDZQwVXGQ,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032535-44234373086413",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.004027787569908188

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016218945425134478

  outcome_tokens_burnt_usd: 0.001621894542513448

outcome (success: true):

  outcome_gas_burnt_usd: 0.0022568070756447396

  outcome_tokens_burnt_usd: 0.0022568070756447396

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





get_account_info(account2): Some(

    (

        "alias2",

        (

            1696821936784450974,

            0,

        ),

    ),

)





get_alias_map_borsh(alias2): Some(

    {

        AccountId(

            "dev-20231009032535-44234373086413",

        ): (

            1696821936784450974,

            0,

        ),

    },

)





claim_alias(account2, alias1): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 6093377486164,

    },

    transaction: ExecutionOutcome {

        transaction_hash: CdWV3YzTaHFD4Uc7g3bYeDgnBGhy7723rzen1pHTPYNv,

        block_hash: H6gCzn2iTni7VxYS7ZWHrkaYnNsX7dF2AgF8GkEJU8Ej,

        logs: [],

        receipt_ids: [

            HH7paNThAWerSdrDBh6VNxyq1WiiFkwf7ETk4dUcjrg7,

        ],

        gas_burnt: NearGas {

            inner: 2427985842086,

        },

        tokens_burnt: 242798584208600000000,

        executor_id: AccountId(

            "dev-20231009032535-44234373086413",

        ),

        status: SuccessReceiptId(HH7paNThAWerSdrDBh6VNxyq1WiiFkwf7ETk4dUcjrg7),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: HH7paNThAWerSdrDBh6VNxyq1WiiFkwf7ETk4dUcjrg7,

            block_hash: 6du5qk2v2EVQaEwdsS5LkhA4PrwunoaT3HzZorqi3Er1,

            logs: [

                "claim_alias / alias: \"alias1\" / account_id: AccountId(\n    \"dev-20231009032535-44234373086413\",\n) / timestamp: 1696821937798255794",

            ],

            receipt_ids: [

                8ainrG88M79rXZkjV5d9rz7deRkjfp96AA3nNqk3BDs2,

            ],

            gas_burnt: NearGas {

                inner: 3442209081578,

            },

            tokens_burnt: 344220908157800000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: 8ainrG88M79rXZkjV5d9rz7deRkjfp96AA3nNqk3BDs2,

            block_hash: BbG416H4fv6YEW6P5TMCg5whb4XHSzpd52SiRiR6fBmt,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032535-44234373086413",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.004070376160757552

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016218945425134478

  outcome_tokens_burnt_usd: 0.001621894542513448

outcome (success: true):

  outcome_gas_burnt_usd: 0.002299395666494104

  outcome_tokens_burnt_usd: 0.0022993956664941043

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





get_account_info(account2): Some(

    (

        "alias1",

        (

            1696821937798255794,

            1,

        ),

    ),

)





get_alias_map(account2, alias1): Some(

    {

        AccountId(

            "dev-20231009032532-24459569426199",

        ): (

            1696821933744980771,

            0,

        ),

        AccountId(

            "dev-20231009032535-44234373086413",

        ): (

            1696821937798255794,

            1,

        ),

    },

)





get_alias_map(account2, alias2): Some(

    {},

)





claim_alias(account1, alias2): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 6089161684420,

    },

    transaction: ExecutionOutcome {

        transaction_hash: EfyTXom79KztAd5Ek5SBWwZwWSPb7QNPU1dPCeSQYKkB,

        block_hash: BEoRcYZfTDr77LpSiigxYCvkzctDDGhjGoqn6Ryv6W7D,

        logs: [],

        receipt_ids: [

            AiYaxuqMXoJPyJceUNtu8biTBN5bky6U73hsmLjaXpYg,

        ],

        gas_burnt: NearGas {

            inner: 2427985842086,

        },

        tokens_burnt: 242798584208600000000,

        executor_id: AccountId(

            "dev-20231009032532-24459569426199",

        ),

        status: SuccessReceiptId(AiYaxuqMXoJPyJceUNtu8biTBN5bky6U73hsmLjaXpYg),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: AiYaxuqMXoJPyJceUNtu8biTBN5bky6U73hsmLjaXpYg,

            block_hash: GsxcfPJQfdevFqCAq4wCa4pM9LysLBiotrww9fsCRtMZ,

            logs: [

                "claim_alias / alias: \"alias2\" / account_id: AccountId(\n    \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821938810896005",

            ],

            receipt_ids: [

                Hf2vPGzBrv1RhKZDmwpNKxpeNgvNnt6h37ssZHxt87Ag,

            ],

            gas_burnt: NearGas {

                inner: 3437993279834,

            },

            tokens_burnt: 343799327983400000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: Hf2vPGzBrv1RhKZDmwpNKxpeNgvNnt6h37ssZHxt87Ag,

            block_hash: HkoqN6zd3ASqiGhBc2oek5Hfzn8PTEzW9cdNsKcx5ZK3,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032532-24459569426199",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.0040675600051925595

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016218945425134478

  outcome_tokens_burnt_usd: 0.001621894542513448

outcome (success: true):

  outcome_gas_burnt_usd: 0.002296579510929112

  outcome_tokens_burnt_usd: 0.002296579510929112

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





get_account_info(account1): Some(

    (

        "alias2",

        (

            1696821938810896005,

            0,

        ),

    ),

)





get_alias_map(account1, alias2): Some(

    {

        AccountId(

            "dev-20231009032532-24459569426199",

        ): (

            1696821938810896005,

            0,

        ),

    },

)





get_alias_map(account1, alias1): Some(

    {

        AccountId(

            "dev-20231009032535-44234373086413",

        ): (

            1696821937798255794,

            1,

        ),

    },

)





claim_alias(account1, alias1): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 6093377486164,

    },

    transaction: ExecutionOutcome {

        transaction_hash: HKzsY4daQ7xTjNTktnMKgfBPhBbXw5JersGSrcPGoNhG,

        block_hash: 48qPNaj4Lt4U2NydPXKYUWKhidkthYc69oyReW8S2h9E,

        logs: [],

        receipt_ids: [

            DD2bDKNuVt8CY2mrSFTTDkRHEf5ZgGppBj9mXqpn7Uqy,

        ],

        gas_burnt: NearGas {

            inner: 2427985842086,

        },

        tokens_burnt: 242798584208600000000,

        executor_id: AccountId(

            "dev-20231009032532-24459569426199",

        ),

        status: SuccessReceiptId(DD2bDKNuVt8CY2mrSFTTDkRHEf5ZgGppBj9mXqpn7Uqy),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: DD2bDKNuVt8CY2mrSFTTDkRHEf5ZgGppBj9mXqpn7Uqy,

            block_hash: G7yP8AyfcF38mtJViVDLoSuKj61xUUiWGxQpcLCFSxr5,

            logs: [

                "claim_alias / alias: \"alias1\" / account_id: AccountId(\n    \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821939824099414",

            ],

            receipt_ids: [

                DAtrYLoRgXCXfGUitXWHoMxp6vU2Zi9iar4y7g8FdsG4,

            ],

            gas_burnt: NearGas {

                inner: 3442209081578,

            },

            tokens_burnt: 344220908157800000000,

            executor_id: AccountId(

                "dev-20231009032529-34156128109783",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: DAtrYLoRgXCXfGUitXWHoMxp6vU2Zi9iar4y7g8FdsG4,

            block_hash: 8wwadN12hYM9Umj9kopgCpUPPJXcw8rfmeueNEs467YQ,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009032532-24459569426199",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.004070376160757552

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016218945425134478

  outcome_tokens_burnt_usd: 0.001621894542513448

outcome (success: true):

  outcome_gas_burnt_usd: 0.002299395666494104

  outcome_tokens_burnt_usd: 0.0022993956664941043

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





get_account_info(account1): Some(

    (

        "alias1",

        (

            1696821939824099414,

            1,

        ),

    ),

)





get_alias_map(account1, alias1): Some(

    {

        AccountId(

            "dev-20231009032535-44234373086413",

        ): (

            1696821937798255794,

            0,

        ),

        AccountId(

            "dev-20231009032532-24459569426199",

        ): (

            1696821939824099414,

            1,

        ),

    },

)





get_alias_map(account1, alias2): Some(

    {},

)

Browserslist: caniuse-lite is outdated. Please run:

  npx update-browserslist-db@latest

  Why you should do it regularly: https://github.com/browserslist/update-db#readme



Rebuilding...



Done in 433ms.

2023-10-09T03:25:56.058412Z  INFO 📦 starting build

2023-10-09T03:25:56.059548Z  INFO spawning asset pipelines

2023-10-09T03:25:57.391329Z  INFO building chat

2023-10-09T03:25:57.391361Z  INFO copying & hashing icon path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\public\\favicon.ico"

2023-10-09T03:25:57.391398Z  INFO copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\deps\\hyperui\\public\\components.css"

2023-10-09T03:25:57.391379Z  INFO copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\target\\tailwind.css"

2023-10-09T03:25:57.393198Z  INFO finished copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\target\\tailwind.css"

2023-10-09T03:25:57.393268Z  INFO finished copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\deps\\hyperui\\public\\components.css"

2023-10-09T03:25:57.395276Z  INFO finished copying & hashing icon path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\public\\favicon.ico"

    Finished release [optimized] target(s) in 3.56s

2023-10-09T03:26:01.110106Z  INFO fetching cargo artifacts

2023-10-09T03:26:01.646039Z  INFO processing WASM for chat

2023-10-09T03:26:01.679299Z  INFO calling wasm-bindgen for chat

2023-10-09T03:26:01.938066Z  INFO copying generated wasm-bindgen artifacts

2023-10-09T03:26:02.286777Z  INFO using system installed binary app=wasm-opt version=version_113

2023-10-09T03:26:02.287009Z  INFO calling wasm-opt

2023-10-09T03:26:15.718166Z  INFO copying generated wasm-opt artifacts

2023-10-09T03:26:15.724911Z  INFO applying new distribution

2023-10-09T03:26:15.731000Z  INFO ✅ success



Build completed!



Filename                                     	Size      

dist\favicon-f1d578da7a480441.ico            	16.28 KiB 

dist\chat-872511b5788b18e4_bg.wasm           	913.23 KiB

dist\chat-872511b5788b18e4.js                	48.96 KiB 

dist/tailwind-1bb93245bd22a37f-AWLY2BE5.css  	6.93 KiB  

dist/components-61317960c9987b2e-YWB32TZ5.css	78.01 KiB 

dist/1-ZMXKILQ7.js                           	23.51 KiB 

dist\index.html                              	1.18 KiB  

                                             	——————————

                                             	1.06 MiB  



Lockfile is up to date, resolution step is skipped

Already up to date



Done in 1.5s



> polyglot@ test:e2e C:\home\git\polyglot\apps\chat\ui\e2e

> playwright test



 INFO  Accepting connections at http://localhost:3000

 HTTP  10/8/2023 11:26:31 PM ::1 GET /

 HTTP  10/8/2023 11:26:31 PM ::1 Returned 200 in 137 ms



Running 1 test using 1 worker



[1/1] [Desktop Chrome] › test.spec.ts:3:5 › test

 HTTP  10/8/2023 11:26:36 PM ::1 GET /

 HTTP  10/8/2023 11:26:36 PM ::1 Returned 200 in 3 ms

 HTTP  10/8/2023 11:26:36 PM ::1 GET /tailwind-1bb93245bd22a37f-AWLY2BE5.css

 HTTP  10/8/2023 11:26:36 PM ::1 Returned 200 in 3 ms

 HTTP  10/8/2023 11:26:36 PM ::1 GET /chat-872511b5788b18e4_bg.wasm

 HTTP  10/8/2023 11:26:36 PM ::1 GET /1-ZMXKILQ7.js

 HTTP  10/8/2023 11:26:36 PM ::1 GET /components-61317960c9987b2e-YWB32TZ5.css

 HTTP  10/8/2023 11:26:36 PM ::1 Returned 200 in 5 ms

 HTTP  10/8/2023 11:26:36 PM ::1 Returned 200 in 6 ms

 HTTP  10/8/2023 11:26:36 PM ::1 Returned 200 in 14 ms

  1 passed (12.1s)



To open last HTML report run:



  npx playwright show-report



In [ ]:
{ . "$ScriptDir/../spiral/test/build.ps1" } | Invoke-Block

── pwsh ────────────────────────────────────────────────────────────────────────

. ../../scripts/nbs_header.ps1

. ../../scripts/core.ps1



── pwsh ────────────────────────────────────────────────────────────────────────

{ . ../../apps/spiral/dist/Supervisor$(GetExecutableSuffix) --buildfile test.spi

test.fsx --timeout 10000 } | Invoke-Block



╭─[ 3.81s - stdout ]───────────────────────────────────────────────────────────╮

│ 23:26:47 #1 [Debug] runWithTimeoutAsync / timeout: 60                        │

│ 23:26:47 #2 [Debug] executeAsync / options: { Command =                      │

│    "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral         │

│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll"           │

│ port=13805"                                                                  │

│   WorkingDirectory = None                                                    │

│   CancellationToken = Some System.Threading.CancellationToken                │

│   OnLine = Some <fun:main@398-297> }                                         │

│ 23:26:47 #3 [Debug] > pwd: C:\home\git\polyglot\spiral\test                  │

│ 23:26:47 #4 [Debug] > dll_path:                                              │

│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language            │

│ 2\artifacts\bin\The Spiral Language 2\release                                │

│ 23:26:48 #5 [Debug] runWithTimeoutAsync / timeout: 500                       │

│ 23:26:48 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0             │

│ 23:26:48 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} /           │

│ result.Length:                                                               │

│ 23:26:48 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port:      │

│ 13805 / retry: 0                                                             │

│ 23:26:48 #9 [Debug] > Server bound to: http://localhost:13805                │

│ 23:26:49 #10 [Debug] buildFile / fsxContent:  / errors: []                   │

│ 23:26:49 #11 [Debug] sendJson / port: 13805 / json:                          │

│ {"FileOpen":{"spiText":"inl app () =\n    \u0022test\u0022 |\u003E           │

│ console.write_line\n    0i32\n\ninl main () =\n    print_static              │

│ \u0022\u003Ctest\u003E\u0022\n\n    app\n    |\u003E dyn\n    |\u003E        │

│ ignore\n\n    print_static                                                   │

│ \u0022\u003C/test\u003E\u0022\n","uri":"file:///C:\\home\\git\\polyglot\\spi │

│ ral\\test\\test.spi"}} / result.Length:                                      │

│ 23:26:49 #12 [Debug] sendJson / port: 13805 / json:                          │

│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\home\\git\\polyglot\\spi │

│ ral\\test\\test.spi"}} / result.Length:                                      │

│ 23:26:49 #13 [Debug] > Building C:\home\git\polyglot\spiral\test\test.spi    │

│ 23:26:50 #14 [Debug] > <test>                                                │

│ 23:26:50 #15 [Debug] > </test>                                               │

│ 23:26:50 #16 [Debug] buildFile / fsxContent: Some(let rec closure0 () () :   │

│ int32 =                                                                      │

│     let v0 : string = "test"                                                 │

│     System.Console.WriteLine v0                                              │

│     0                                                                        │

│ let v0 : (unit -> int32) = closure0()                                        │

│ ()                                                                           │

│ ) / errors: []                                                               │

│ 23:26:50 #17 [Debug] watchWithFilter / Disposing watch stream / fullPath:    │

│ C:\home\git\polyglot\spiral\test / filter: FileName, LastWrite               │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── pwsh ────────────────────────────────────────────────────────────────────────

dotnet fable --optimize --lang rs --extension .rs



╭─[ 3.85s - stdout ]───────────────────────────────────────────────────────────╮

│ Fable 4.2.1: F# to Rust compiler (status: alpha)                             │

│                                                                              │

│ Thanks to the contributor! @johlrich                                         │

│ Stand with Ukraine! https://standwithukraine.com.ua/                         │

│                                                                              │

│ Parsing test.fsproj...                                                       │

│ Retrieving project options from cache, in case of issues run `dotnet fable   │

│ clean` or try `--noCache` option.                                            │

│ Project and references (1 source files) parsed in 240ms                      │

│                                                                              │

│ Started Fable compilation...                                                 │

│ Fable compilation finished in 1832ms                                         │

│                                                                              │

│ .\test.fsx(6,0): (6,2) warning FABLE: For Rust, support for F# static and    │

│ module do bindings is disabled by default. It can be enabled with the        │

│ 'static_do_bindings' feature. Use at your own risk!                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── pwsh ────────────────────────────────────────────────────────────────────────

cargo fmt --



── pwsh ────────────────────────────────────────────────────────────────────────

cargo build --release



╭─[ 5.43s - stdout ]───────────────────────────────────────────────────────────╮

│ warning: C:\home\git\polyglot\Cargo.toml: unused manifest key:          │

│ lib.members                                                                │

│    Compiling test v0.0.1 (C:\home\git\polyglot\spiral\test)           │

│ warning: unused import: `info`                                        │

│    --> spiral\test\./main.rs:190:15                                   │

│     |                                                                 │

│ 190 | use tracing::{info, Level};                                     │

│     |               ^^^^                                              │

│     |                                                                 │

│     = note: `#[warn(unused_imports)]` on by default                   │

│                                                                       │

│ warning: associated items `new`, `add_item`, and `remove_item` are      │

│ never used                                                                 │

│   --> spiral\test\./main.rs:46:8                                      │

│    |                                                                  │

│ 45 | impl Cart {                                                      │

│    | --------- associated items in this implementation                │

│ 46 |     fn new() -> Cart {                                           │

│    |        ^^^                                                       │

│ ...                                                                   │

│ 50 |     fn add_item(&mut self, item: Item) {                         │

│    |        ^^^^^^^^                                                  │

│ ...                                                                   │

│ 56 |     fn remove_item(&mut self, item: &Item) {                     │

│    |        ^^^^^^^^^^^                                               │

│    |                                                                  │

│    = note: `#[warn(dead_code)]` on by default                         │

│                                                                       │

│ warning: function `parse_comment` is never used                       │

│    --> spiral\test\./main.rs:124:4                                    │

│     |                                                                 │

│ 124 | fn parse_comment(input: &str) -> IResult<&str, SpiralToken> {   │

│     |    ^^^^^^^^^^^^^                                                │

│                                                                       │

│ warning: function `parse_string` is never used                        │

│    --> spiral\test\./main.rs:130:4                                    │

│     |                                                                 │

│ 130 | fn parse_string(input: &str) -> IResult<&str, SpiralToken> {    │

│     |    ^^^^^^^^^^^^                                                 │

│                                                                       │

│ warning: function `parse_identifier` is never used                    │

│    --> spiral\test\./main.rs:145:4                                    │

│     |                                                                 │

│ 145 | fn parse_identifier(input: &str) -> IResult<&str, SpiralToken> {[  │

│ 0m                                                                           │

│     |    ^^^^^^^^^^^^^^^^                                             │

│                                                                       │

│ warning: function `parse_integer` is never used                       │

│    --> spiral\test\./main.rs:157:4                                    │

│     |                                                                 │

│ 157 | fn parse_integer(input: &str) -> IResult<&str, SpiralToken> {   │

│     |    ^^^^^^^^^^^^^                                                │

│                                                                       │

│ warning: function `parse_operator` is never used                      │

│    --> spiral\test\./main.rs:165:4                                    │

│     |                                                                 │

│ 165 | fn parse_operator(input: &str) -> IResult<&str, SpiralToken> {  │

│     |    ^^^^^^^^^^^^^^                                               │

│                                                                       │

│ warning: function `parse_token` is never used                         │

│    --> spiral\test\./main.rs:170:4                                    │

│     |                                                                 │

│ 170 | fn parse_token(input: &str) -> IResult<&str, SpiralToken> {     │

│     |    ^^^^^^^^^^^                                                  │

│                                                                       │

│ warning: function `format_token` is never used                        │

│    --> spiral\test\./main.rs:180:4                                    │

│     |                                                                 │

│ 180 | fn format_token(token: &SpiralToken) -> String {                │

│     |    ^^^^^^^^^^^^                                                 │

│                                                                       │

│ warning: function `parse_expression` is never used                    │

│    --> spiral\test\./main.rs:213:4                                    │

│     |                                                                 │

│ 213 | fn parse_expression(input: &str) -> IResult<&str, SpiralToken> {[  │

│ 0m                                                                           │

│     |    ^^^^^^^^^^^^^^^^                                             │

│                                                                       │

│ warning: `test` (bin "test") generated 10 warnings (run `cargo fix      │

│ --bin "test"` to apply 1 suggestion)                                       │

│     Finished release [optimized] target(s) in 5.27s                   │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── pwsh ────────────────────────────────────────────────────────────────────────

$env:RUST_LOG="info"

{ cargo test --release } | Invoke-Block



╭─[ 5.19s - stdout ]───────────────────────────────────────────────────────────╮

│ warning: C:\home\git\polyglot\Cargo.toml: unused manifest key:          │

│ lib.members                                                                │

│    Compiling test v0.0.1 (C:\home\git\polyglot\spiral\test)           │

│     Finished release [optimized] target(s) in 4.78s                   │

│      Running unittests main.rs                                          │

│ (C:\home\git\polyglot\target\release\deps\test-4de965843ca9c39f.exe)       │

│                                                                              │

│ running 3 tests                                                              │

│ test test_parse_number ... ok                                                │

│ 2023-10-09T03:27:05.607820Z  INFO test:                     │

│ input=Integer(129214504785045342)                                            │

│ 2023-10-09T03:27:05.607926Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.608054Z  INFO test:                     │

│ input=Identifier("j2St768fMRP7CS5UJa4374")                                   │

│ 2023-10-09T03:27:05.608122Z  INFO test:                     │

│ input=Identifier("f0md2LE5k1nsw4n32yR08i519EyW8kLY0")                        │

│ 2023-10-09T03:27:05.608194Z  INFO test:                     │

│ input=Identifier("PonQVfr1NPRozlpzjIV4Ta")                                   │

│ 2023-10-09T03:27:05.608248Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.608328Z  INFO test:                     │

│ input=Identifier("mGhUr8IvYDV5qtIk2qv7A")                                    │

│ 2023-10-09T03:27:05.608429Z  INFO test:                     │

│ input=Comment("c'}JrOk>L(/mS;Q4VYW%Nk%En3%]:{=")                             │

│ 2023-10-09T03:27:05.608590Z  INFO test:                     │

│ input=Integer(-7203611000523392178)                                          │

│ 2023-10-09T03:27:05.608675Z  INFO test:                     │

│ input=Integer(1972465373825685917)                                           │

│ 2023-10-09T03:27:05.608744Z  INFO test:                     │

│ input=Integer(-65983087242222797)                                            │

│ 2023-10-09T03:27:05.608789Z  INFO test:                     │

│ input=Integer(-4876918167636051770)                                          │

│ 2023-10-09T03:27:05.608841Z  INFO test:                     │

│ input=Integer(-6647974548274979337)                                          │

│ 2023-10-09T03:27:05.608876Z  INFO test:                     │

│ input=Integer(-5212923694836829077)                                          │

│ 2023-10-09T03:27:05.608937Z  INFO test:                     │

│ input=Comment("Q?/*#z{0bP^=y%p.SS5[')Y:w")                                   │

│ 2023-10-09T03:27:05.608991Z  INFO test:                     │

│ input=Integer(-7890657187402160181)                                          │

│ 2023-10-09T03:27:05.609039Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.609103Z  INFO test:                     │

│ input=Identifier("Lx3K7n89I95c5aeVW65yPsHDILm4")                             │

│ 2023-10-09T03:27:05.609156Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.609211Z  INFO test: input=Comment("Z&") │

│ 2023-10-09T03:27:05.609277Z  INFO test:                     │

│ input=StringLiteral("/=2Q]'R%==R*`!?=*Z}_/")                                 │

│ 2023-10-09T03:27:05.609331Z  INFO test:                     │

│ input=Integer(4299467540735752368)                                           │

│ 2023-10-09T03:27:05.609382Z  INFO test:                     │

│ input=Identifier("Ci")                                                       │

│ 2023-10-09T03:27:05.609425Z  INFO test:                     │

│ input=Comment(".YB")                                                         │

│ 2023-10-09T03:27:05.609517Z  INFO test:                     │

│ input=StringLiteral("W*='ioMp/*S.w=w7l`}Hs/b")                               │

│ 2023-10-09T03:27:05.609619Z  INFO test:                     │

│ input=Identifier("I0Ntk1eCQNv8IjXz2")                                        │

│ 2023-10-09T03:27:05.609789Z  INFO test:                     │

│ input=StringLiteral("~-*q~`{Dl&K")                                           │

│ 2023-10-09T03:27:05.609884Z  INFO test:                     │

│ input=Integer(-687367630168499807)                                           │

│ 2023-10-09T03:27:05.609930Z  INFO test:                     │

│ input=Integer(-8261078191514036451)                                          │

│ 2023-10-09T03:27:05.609978Z  INFO test:                     │

│ input=StringLiteral("5&P1Tj%%i3`'&")                                         │

│ 2023-10-09T03:27:05.610026Z  INFO test:                     │

│ input=Comment("5Yq5'/>wh_/\\({?/$'P//j\"p`")                                 │

│ 2023-10-09T03:27:05.610064Z  INFO test:                     │

│ input=Comment("wrL*L%:\\[<oq_^`V.<x|?b/7{]ti")                               │

│ 2023-10-09T03:27:05.610093Z  INFO test:                     │

│ input=Comment("j8_@\\'")                                                     │

│ 2023-10-09T03:27:05.610127Z  INFO test:                     │

│ input=Identifier("HuFB08P3W3B0KgdxMchux4qdoOzTMN")                           │

│ 2023-10-09T03:27:05.610162Z  INFO test:                     │

│ input=Integer(-2108656949509292309)                                          │

│ 2023-10-09T03:27:05.610199Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.610256Z  INFO test:                     │

│ input=StringLiteral("&..$=1r&a'/$i>?<`")                                     │

│ 2023-10-09T03:27:05.610310Z  INFO test:                     │

│ input=Identifier("d9aQBsgzr")                                                │

│ 2023-10-09T03:27:05.610356Z  INFO test:                     │

│ input=Integer(7432142715800698125)                                           │

│ 2023-10-09T03:27:05.610384Z  INFO test: input=Operator("-") │

│ 2023-10-09T03:27:05.610417Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.610456Z  INFO test: input=Operator("(") │

│ 2023-10-09T03:27:05.610510Z  INFO test:                     │

│ input=StringLiteral("[c{:&<?7 2J%.@'&")                                      │

│ 2023-10-09T03:27:05.610573Z  INFO test:                     │

│ input=Identifier("MALVP13KYho9b88in")                                        │

│ 2023-10-09T03:27:05.610655Z  INFO test:                     │

│ input=Comment("?{v=|I@`A'^b'`<%/?,T/:")                                      │

│ 2023-10-09T03:27:05.610707Z  INFO test:                     │

│ input=Identifier("Q7Y")                                                      │

│ 2023-10-09T03:27:05.610788Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.610877Z  INFO test:                     │

│ input=Identifier("zxCwmoZsx5lyHj37zWU")                                      │

│ 2023-10-09T03:27:05.610932Z  INFO test:                     │

│ input=Comment("=Z<,L4.CKy0\"")                                               │

│ 2023-10-09T03:27:05.610977Z  INFO test:                     │

│ input=Integer(-4036257429473349570)                                          │

│ 2023-10-09T03:27:05.611011Z  INFO test:                     │

│ input=Integer(7610242456579816750)                                           │

│ 2023-10-09T03:27:05.611190Z  INFO test:                     │

│ input=StringLiteral("V|l$[9<.T=_D:9_S[")                                     │

│ 2023-10-09T03:27:05.611260Z  INFO test:                     │

│ input=Comment("wT*+{4`")                                                     │

│ 2023-10-09T03:27:05.611297Z  INFO test:                     │

│ input=Integer(-2461936850882242540)                                          │

│ 2023-10-09T03:27:05.611341Z  INFO test:                     │

│ input=Comment("`'dK3.9);&*\"8{H {2>o9<C\"BtN(A/`H")                          │

│ 2023-10-09T03:27:05.611397Z  INFO test:                     │

│ input=StringLiteral(".*6>{hY%olx")                                           │

│ 2023-10-09T03:27:05.611427Z  INFO test:                     │

│ input=Integer(-1835798016081383577)                                          │

│ 2023-10-09T03:27:05.611472Z  INFO test:                     │

│ input=StringLiteral("T/|!K$_'Ke&A:d")                                        │

│ 2023-10-09T03:27:05.611512Z  INFO test:                     │

│ input=Integer(-749601149563974773)                                           │

│ 2023-10-09T03:27:05.611597Z  INFO test:                     │

│ input=Identifier("HbZYbI0IiYFxSamLJiip3")                                    │

│ 2023-10-09T03:27:05.611661Z  INFO test:                     │

│ input=StringLiteral("wB'")                                                   │

│ 2023-10-09T03:27:05.611702Z  INFO test:                     │

│ input=Integer(4088577214337939270)                                           │

│ 2023-10-09T03:27:05.611739Z  INFO test: input=Operator("*") │

│ 2023-10-09T03:27:05.611767Z  INFO test: input=Operator("-") │

│ 2023-10-09T03:27:05.611823Z  INFO test:                     │

│ input=Comment("\\$rMo:H$<)\\Sy`br")                                          │

│ 2023-10-09T03:27:05.611895Z  INFO test:                     │

│ input=Comment("\"cJ\\Gu^*L'fMqM)-:%{r")                                      │

│ 2023-10-09T03:27:05.611955Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.612006Z  INFO test: input=Operator("*") │

│ 2023-10-09T03:27:05.612093Z  INFO test: input=Operator("(") │

│ 2023-10-09T03:27:05.612189Z  INFO test:                     │

│ input=Integer(-8446375695124193009)                                          │

│ 2023-10-09T03:27:05.612263Z  INFO test:                     │

│ input=Identifier("XQ961rGwbF")                                               │

│ 2023-10-09T03:27:05.612304Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.612351Z  INFO test:                     │

│ input=StringLiteral("sT)'z'RO")                                              │

│ 2023-10-09T03:27:05.612474Z  INFO test:                     │

│ input=Comment("z`4c+P)<?Mn0J\"7/:G\\KNc*%:?RyW%Fo")                          │

│ 2023-10-09T03:27:05.612520Z  INFO test:                     │

│ input=Comment("'z]")                                                         │

│ 2023-10-09T03:27:05.612551Z  INFO test:                     │

│ input=Integer(-508188143672764050)                                           │

│ 2023-10-09T03:27:05.612583Z  INFO test:                     │

│ input=Identifier("ADu51TiW0H950A2FVJT")                                      │

│ 2023-10-09T03:27:05.612702Z  INFO test:                     │

│ input=Comment("(SiZ`&-&&._qipbGg")                                           │

│ 2023-10-09T03:27:05.612762Z  INFO test:                     │

│ input=Integer(8667389546227549445)                                           │

│ 2023-10-09T03:27:05.612796Z  INFO test:                     │

│ input=StringLiteral(":'|Y*G$?:JB")                                           │

│ 2023-10-09T03:27:05.612828Z  INFO test:                     │

│ input=StringLiteral("@(?Dw#P,/*zr'I")                                        │

│ 2023-10-09T03:27:05.612855Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.612881Z  INFO test:                     │

│ input=Comment(")*:w*&EKYzC#\"n")                                             │

│ 2023-10-09T03:27:05.612902Z  INFO test:                     │

│ input=Integer(-1591956956275690090)                                          │

│ 2023-10-09T03:27:05.612944Z  INFO test:                     │

│ input=StringLiteral("SQnwX%'``.Xo.Q")                                        │

│ 2023-10-09T03:27:05.612972Z  INFO test:                     │

│ input=StringLiteral("{eNdL/&%l?Gt'")                                         │

│ 2023-10-09T03:27:05.612993Z  INFO test:                     │

│ input=Integer(9025926780127667722)                                           │

│ 2023-10-09T03:27:05.613023Z  INFO test:                     │

│ input=Comment("hyt_}\"M{`%/i32Uxw1b}&\"&|$?")                                │

│ 2023-10-09T03:27:05.613049Z  INFO test:                     │

│ input=Integer(648047330224795826)                                            │

│ 2023-10-09T03:27:05.613076Z  INFO test:                     │

│ input=Comment("\">@8bL.\"?q!`&L]W")                                          │

│ 2023-10-09T03:27:05.613104Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.613127Z  INFO test:                     │

│ input=Integer(2328309736432989110)                                           │

│ 2023-10-09T03:27:05.613160Z  INFO test:                     │

│ input=StringLiteral("&%YT.A#]4{J2?s(j*={")                                   │

│ 2023-10-09T03:27:05.613189Z  INFO test:                     │

│ input=Identifier("wegXR409H")                                                │

│ 2023-10-09T03:27:05.613224Z  INFO test:                     │

│ input=Identifier("pKYq4cx84")                                                │

│ 2023-10-09T03:27:05.613339Z  INFO test:                     │

│ input=StringLiteral(".u3jDUtHGF7'^;F/G+wPqC?Uhv`")                           │

│ 2023-10-09T03:27:05.613428Z  INFO test:                     │

│ input=StringLiteral("R%)L-62$k|kA]<*[<<")                                    │

│ 2023-10-09T03:27:05.613511Z  INFO test:                     │

│ input=Integer(-7704762293039421179)                                          │

│ 2023-10-09T03:27:05.613575Z  INFO test:                     │

│ input=Comment("D%u.T*o?:Zm\"3ZA?*e/t#= K")                                   │

│ 2023-10-09T03:27:05.613657Z  INFO test:                     │

│ input=Identifier("w1TW87wRhdXcyzvr5KN1waxvyDrOz0")                           │

│ 2023-10-09T03:27:05.613767Z  INFO test:                     │

│ input=StringLiteral("'*@%|")                                                 │

│ 2023-10-09T03:27:05.613840Z  INFO test:                     │

│ input=Comment("N9{z<H&/9%`KI%3`=C$//`~ T(E1K{M")                             │

│ 2023-10-09T03:27:05.613904Z  INFO test: input=Operator("*") │

│ 2023-10-09T03:27:05.613958Z  INFO test:                     │

│ input=StringLiteral("oD")                                                    │

│ 2023-10-09T03:27:05.613999Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.614086Z  INFO test:                     │

│ input=StringLiteral("]4*AF`V<<Z")                                            │

│ 2023-10-09T03:27:05.614180Z  INFO test:                     │

│ input=StringLiteral("~m/&^{VL/=.?z")                                         │

│ 2023-10-09T03:27:05.614231Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.614263Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.614342Z  INFO test:                     │

│ input=StringLiteral("$+Q=<RYLMhKE gW<':")                                    │

│ 2023-10-09T03:27:05.614391Z  INFO test:                     │

│ input=Identifier("ejKefEKMa4FvBYZZecdPJ60C")                                 │

│ 2023-10-09T03:27:05.614429Z  INFO test:                     │

│ input=StringLiteral(",")                                                     │

│ 2023-10-09T03:27:05.614482Z  INFO test: input=Comment("     │

│ JaMb{*$+$5=A?")                                                              │

│ 2023-10-09T03:27:05.614530Z  INFO test:                     │

│ input=Identifier("vHMX5bGkpTqX5Q5L4LeI3LM")                                  │

│ 2023-10-09T03:27:05.614622Z  INFO test:                     │

│ input=StringLiteral("HN_-N&40B%:3cfGT~kn'%!")                                │

│ 2023-10-09T03:27:05.614784Z  INFO test: input=Comment("X%Kk │

│ NeH2\"K#:&/G/d{oSL#\"QI")                                                    │

│ 2023-10-09T03:27:05.614858Z  INFO test:                     │

│ input=Comment("K5XORpycX<\\a<4m .|'\\/qGi_U")                                │

│ 2023-10-09T03:27:05.614895Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.614922Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.614948Z  INFO test:                     │

│ input=Comment("%R.`g/j1")                                                    │

│ 2023-10-09T03:27:05.614968Z  INFO test:                     │

│ input=Integer(-2224299129553422083)                                          │

│ 2023-10-09T03:27:05.615004Z  INFO test:                     │

│ input=Comment("ILI<$,J\\{y)t{'+>{`Z'ku:Xq9$")                                │

│ 2023-10-09T03:27:05.615056Z  INFO test:                     │

│ input=Comment("w]/\\R(bQ@R+VU$Y$\\4WV")                                      │

│ 2023-10-09T03:27:05.615079Z  INFO test:                     │

│ input=Integer(-5492415381469125118)                                          │

│ 2023-10-09T03:27:05.615098Z  INFO test:                     │

│ input=Integer(6008970063932687965)                                           │

│ 2023-10-09T03:27:05.615123Z  INFO test:                     │

│ input=StringLiteral("~e<*'@/zO<<=")                                          │

│ 2023-10-09T03:27:05.615149Z  INFO test:                     │

│ input=StringLiteral("j'W7I|G")                                               │

│ 2023-10-09T03:27:05.615195Z  INFO test:                     │

│ input=Identifier("Toq9Xf5Ftrihe5A1mawHn018cnDI0NO")                          │

│ 2023-10-09T03:27:05.615223Z  INFO test:                     │

│ input=Comment("e_<L,S?Tr.=\\B")                                              │

│ 2023-10-09T03:27:05.615257Z  INFO test:                     │

│ input=Identifier("e50YP4JQoYz8gtkB2DqAIn2L9bXkoai2c")                        │

│ 2023-10-09T03:27:05.615280Z  INFO test: input=Operator("(") │

│ 2023-10-09T03:27:05.615301Z  INFO test:                     │

│ input=Comment("mO\"p")                                                       │

│ 2023-10-09T03:27:05.615320Z  INFO test:                     │

│ input=Integer(7034000290745617660)                                           │

│ 2023-10-09T03:27:05.615349Z  INFO test:                     │

│ input=StringLiteral("gH!B&?$")                                               │

│ 2023-10-09T03:27:05.615395Z  INFO test:                     │

│ input=Integer(5118791007870673022)                                           │

│ 2023-10-09T03:27:05.615472Z  INFO test:                     │

│ input=StringLiteral("5%z&t.&SbN$&a1'{?#w;<]`1gg{")                           │

│ 2023-10-09T03:27:05.615517Z  INFO test:                     │

│ input=StringLiteral("*$y&,R.1{cq4._")                                        │

│ 2023-10-09T03:27:05.615559Z  INFO test:                     │

│ input=Comment("*?@lAhV(5Q`<n 8\\F<$r<zT")                                    │

│ 2023-10-09T03:27:05.615583Z  INFO test:                     │

│ input=Identifier("Bsi6y")                                                    │

│ 2023-10-09T03:27:05.615604Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.615621Z  INFO test:                     │

│ input=Integer(-8904676726459464325)                                          │

│ 2023-10-09T03:27:05.615659Z  INFO test:                     │

│ input=StringLiteral("@?Kl/P^]HV3`~`WWi=%%gy).(N!/L**x")                      │

│ 2023-10-09T03:27:05.615688Z  INFO test:                     │

│ input=StringLiteral("$=vfmK&~mmm!WeOay")                                     │

│ 2023-10-09T03:27:05.615721Z  INFO test:                     │

│ input=Identifier("JLw14QldyEPfUA112AjYz")                                    │

│ 2023-10-09T03:27:05.615740Z  INFO test:                     │

│ input=Integer(-2194335557414167689)                                          │

│ 2023-10-09T03:27:05.615785Z  INFO test:                     │

│ input=StringLiteral("O*=[F@<h{RJ'{&&$C'(KED6M[")                             │

│ 2023-10-09T03:27:05.615834Z  INFO test:                     │

│ input=StringLiteral("|nmf&{`5")                                              │

│ 2023-10-09T03:27:05.615885Z  INFO test:                     │

│ input=StringLiteral("W29<z}$CY%/{#x;$8a6peCJC1:TfF")                         │

│ 2023-10-09T03:27:05.615913Z  INFO test:                     │

│ input=Comment("Jr\"opN")                                                     │

│ 2023-10-09T03:27:05.615945Z  INFO test:                     │

│ input=Identifier("r19QkpEYKaT70I2Y8QcmO5C2")                                 │

│ 2023-10-09T03:27:05.615967Z  INFO test: input=Comment("'")  │

│ 2023-10-09T03:27:05.615985Z  INFO test:                     │

│ input=Integer(-8857819966919574007)                                          │

│ 2023-10-09T03:27:05.616018Z  INFO test:                     │

│ input=Identifier("ngE4Yar2NKatIu5FZt4ap4Aqc946")                             │

│ 2023-10-09T03:27:05.616047Z  INFO test:                     │

│ input=Identifier("pQ1s8jZ3bg0s9ezoKRlUv3IGZS")                               │

│ 2023-10-09T03:27:05.616080Z  INFO test:                     │

│ input=Identifier("M0yWW4veNZaMFKjRmtL83m83VEPOR0An")                         │

│ 2023-10-09T03:27:05.616107Z  INFO test:                     │

│ input=Identifier("Hh2gdg6")                                                  │

│ 2023-10-09T03:27:05.616125Z  INFO test:                     │

│ input=Integer(6115327803577889352)                                           │

│ 2023-10-09T03:27:05.616148Z  INFO test:                     │

│ input=StringLiteral("X$?M,q`&'^")                                            │

│ 2023-10-09T03:27:05.616170Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.616201Z  INFO test:                     │

│ input=StringLiteral("BP {O`,X'Prn3+'@3/w=(4'")                               │

│ 2023-10-09T03:27:05.616224Z  INFO test: input=Operator("-") │

│ 2023-10-09T03:27:05.616243Z  INFO test: input=Operator("=") │

│ 2023-10-09T03:27:05.616263Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.616307Z  INFO test:                     │

│ input=Identifier("Ws9xap8ori7Y4UPbQ0oe4Wxq")                                 │

│ 2023-10-09T03:27:05.619273Z  INFO test:                     │

│ input=StringLiteral("0$`W>7db$])smPQ{_F<]+:=")                               │

│ 2023-10-09T03:27:05.619330Z  INFO test:                     │

│ input=Comment("hOh'2`.YX'** z/O:_A0")                                        │

│ 2023-10-09T03:27:05.619363Z  INFO test: input=Comment("{/") │

│ 2023-10-09T03:27:05.619393Z  INFO test:                     │

│ input=Integer(-7334131361623526913)                                          │

│ 2023-10-09T03:27:05.619426Z  INFO test:                     │

│ input=StringLiteral("JnEv'$")                                                │

│ 2023-10-09T03:27:05.619455Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.619486Z  INFO test:                     │

│ input=Comment("`%9C/:5SJ'@{3$=q~:%`jQa")                                     │

│ 2023-10-09T03:27:05.619512Z  INFO test:                     │

│ input=Integer(-3627026752699765515)                                          │

│ 2023-10-09T03:27:05.619558Z  INFO test:                     │

│ input=Identifier("APd7vrHGv9x8KK3se8G14t3zulKfH")                            │

│ 2023-10-09T03:27:05.619605Z  INFO test:                     │

│ input=StringLiteral("/`D<Kh~K<fm$LlsD*h&*dO`f>V")                            │

│ 2023-10-09T03:27:05.619637Z  INFO test:                     │

│ input=Comment("l''?)-N<&y'du\\/o")                                           │

│ 2023-10-09T03:27:05.619680Z  INFO test:                     │

│ input=Comment("|..&#$6*`.W..Om%+Lr%P&&38&R',;{@")                            │

│ 2023-10-09T03:27:05.619717Z  INFO test:                     │

│ input=StringLiteral("d`!?*71Z{8N8&r+-&/1<vbpU`;")                            │

│ 2023-10-09T03:27:05.619754Z  INFO test:                     │

│ input=StringLiteral("i{{XM;<%[n1.F$1:LGB '0s:")                              │

│ 2023-10-09T03:27:05.619795Z  INFO test:                     │

│ input=Identifier("DddGTESMFs075iR34sn6")                                     │

│ 2023-10-09T03:27:05.619833Z  INFO test:                     │

│ input=StringLiteral(".QW%H'QGnzelu2v")                                       │

│ 2023-10-09T03:27:05.619867Z  INFO test:                     │

│ input=StringLiteral(".%&oy1H:<=M$~M:9%")                                     │

│ 2023-10-09T03:27:05.619898Z  INFO test:                     │

│ input=StringLiteral("%~I./&")                                                │

│ 2023-10-09T03:27:05.619933Z  INFO test:                     │

│ input=Identifier("krwV8P8Xgx55a76Rjxl4m9b")                                  │

│ 2023-10-09T03:27:05.619974Z  INFO test:                     │

│ input=StringLiteral("*F4H$RZJ~{ &P'E':6mJZ#gT.2P-<s%")                       │

│ 2023-10-09T03:27:05.620021Z  INFO test:                     │

│ input=StringLiteral("o%*':?&t&!`.oY.3j{H)u?")                                │

│ 2023-10-09T03:27:05.620065Z  INFO test:                     │

│ input=Comment("*\"f6`r")                                                     │

│ 2023-10-09T03:27:05.620099Z  INFO test:                     │

│ input=Comment(")YHG%n#{U@LOV*^\\XeY")                                        │

│ 2023-10-09T03:27:05.620133Z  INFO test:                     │

│ input=Identifier("gQQxDq51XS2hIYP14bes")                                     │

│ 2023-10-09T03:27:05.620156Z  INFO test:                     │

│ input=Integer(-7153240680223089293)                                          │

│ 2023-10-09T03:27:05.620176Z  INFO test: input=Operator("-") │

│ 2023-10-09T03:27:05.620198Z  INFO test:                     │

│ input=Integer(-6636870280815212006)                                          │

│ 2023-10-09T03:27:05.620224Z  INFO test:                     │

│ input=Comment("y32FW_$GrsCmM<8}")                                            │

│ 2023-10-09T03:27:05.620268Z  INFO test:                     │

│ input=Identifier("Sch")                                                      │

│ 2023-10-09T03:27:05.620299Z  INFO test:                     │

│ input=Comment("P'+O")                                                        │

│ 2023-10-09T03:27:05.620335Z  INFO test:                     │

│ input=Identifier("NcwfoK8qQ5VXK5elLG175AlagRu1b8O")                          │

│ 2023-10-09T03:27:05.620376Z  INFO test:                     │

│ input=StringLiteral("-kvH/cHA? ")                                            │

│ 2023-10-09T03:27:05.620437Z  INFO test:                     │

│ input=StringLiteral(")!'UccEA4Ly$&&")                                        │

│ 2023-10-09T03:27:05.620510Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.620560Z  INFO test: input=Operator("+") │

│ 2023-10-09T03:27:05.620647Z  INFO test: input=Comment("Y+") │

│ 2023-10-09T03:27:05.620703Z  INFO test:                     │

│ input=Integer(-7642514948714712447)                                          │

│ 2023-10-09T03:27:05.620775Z  INFO test: input=Comment("")   │

│ 2023-10-09T03:27:05.620839Z  INFO test:                     │

│ input=Identifier("MxEoVJ7H2GLsKQV50T2z0DnpAUyx")                             │

│ 2023-10-09T03:27:05.620888Z  INFO test:                     │

│ input=StringLiteral(";D=QZwGu^&]?+")                                         │

│ 2023-10-09T03:27:05.620952Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.620988Z  INFO test:                     │

│ input=Integer(-6370141588050152879)                                          │

│ 2023-10-09T03:27:05.621024Z  INFO test:                     │

│ input=StringLiteral(">N/up&->*KbU#-2")                                       │

│ 2023-10-09T03:27:05.621105Z  INFO test:                     │

│ input=StringLiteral("grI&T?q[te2?.(,R=Z&~")                                  │

│ 2023-10-09T03:27:05.621162Z  INFO test:                     │

│ input=Identifier("VTyoCt1S5")                                                │

│ 2023-10-09T03:27:05.621208Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.621249Z  INFO test:                     │

│ input=Integer(6082781041090258057)                                           │

│ 2023-10-09T03:27:05.621330Z  INFO test: input=Comment("")   │

│ 2023-10-09T03:27:05.621364Z  INFO test:                     │

│ input=Integer(4269151219555609090)                                           │

│ 2023-10-09T03:27:05.621400Z  INFO test:                     │

│ input=Integer(-8429653917100223762)                                          │

│ 2023-10-09T03:27:05.621440Z  INFO test:                     │

│ input=Integer(-8746236976492214606)                                          │

│ 2023-10-09T03:27:05.621487Z  INFO test:                     │

│ input=Identifier("RZ5ZhINxWZ1i31")                                           │

│ 2023-10-09T03:27:05.621534Z  INFO test:                     │

│ input=Integer(1883302368405116197)                                           │

│ 2023-10-09T03:27:05.621572Z  INFO test:                     │

│ input=Identifier("w515UeJ64e")                                               │

│ 2023-10-09T03:27:05.621642Z  INFO test:                     │

│ input=Identifier("DSt9s968wX7lKdJ3x")                                        │

│ 2023-10-09T03:27:05.621717Z  INFO test:                     │

│ input=Identifier("Z5f74W8w9UMZHf3D0m3bcIprmg8XmQ6Zh")                        │

│ 2023-10-09T03:27:05.621863Z  INFO test:                     │

│ input=Comment("h?^G{s^'I/<={WWjJz&jJ}p@!q/3/xg")                             │

│ 2023-10-09T03:27:05.621943Z  INFO test: input=Operator("-") │

│ 2023-10-09T03:27:05.622045Z  INFO test:                     │

│ input=Integer(-3764186433142568330)                                          │

│ 2023-10-09T03:27:05.622223Z  INFO test: input=Comment("Z=[  │

│ _EG\\Ke&FCW&/nz\"ETK}$R?@")                                                  │

│ 2023-10-09T03:27:05.622283Z  INFO test:                     │

│ input=StringLiteral("l<")                                                    │

│ 2023-10-09T03:27:05.622310Z  INFO test:                     │

│ input=Comment(">fGu&`'")                                                     │

│ 2023-10-09T03:27:05.622343Z  INFO test:                     │

│ input=Comment("e:hwEX{-*\"*d%$:3@\"4|")                                      │

│ 2023-10-09T03:27:05.622372Z  INFO test:                     │

│ input=StringLiteral("67")                                                    │

│ 2023-10-09T03:27:05.622402Z  INFO test:                     │

│ input=Integer(-7447044411139368713)                                          │

│ 2023-10-09T03:27:05.622432Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.622455Z  INFO test:                     │

│ input=Integer(3815866115364116913)                                           │

│ 2023-10-09T03:27:05.622477Z  INFO test: input=Operator("(") │

│ 2023-10-09T03:27:05.622508Z  INFO test:                     │

│ input=Identifier("m59r5CBTQW0kr39q")                                         │

│ 2023-10-09T03:27:05.622538Z  INFO test:                     │

│ input=StringLiteral("wF:n?c$cx@NN9gU")                                       │

│ 2023-10-09T03:27:05.622586Z  INFO test:                     │

│ input=Comment("m{POpDm*#'5")                                                 │

│ 2023-10-09T03:27:05.622621Z  INFO test:                     │

│ input=Identifier("w68t6NHhhhuaked8p6TyjPpxho")                               │

│ 2023-10-09T03:27:05.622648Z  INFO test: input=Operator("(") │

│ 2023-10-09T03:27:05.622668Z  INFO test: input=Operator("-") │

│ 2023-10-09T03:27:05.622695Z  INFO test:                     │

│ input=Identifier("YcR7Fsu9p")                                                │

│ 2023-10-09T03:27:05.622720Z  INFO test:                     │

│ input=Identifier("mQXXab64lu")                                               │

│ 2023-10-09T03:27:05.622742Z  INFO test:                     │

│ input=Integer(-9139278463500791815)                                          │

│ 2023-10-09T03:27:05.622775Z  INFO test: input=Operator(")") │

│ 2023-10-09T03:27:05.622809Z  INFO test:                     │

│ input=Identifier("OS8QRqgAtb9nLY6")                                          │

│ 2023-10-09T03:27:05.622831Z  INFO test:                     │

│ input=Integer(-5760722397743294810)                                          │

│ 2023-10-09T03:27:05.622863Z  INFO test:                     │

│ input=Identifier("zKnabLq7O6PV5pUs6e")                                       │

│ 2023-10-09T03:27:05.622932Z  INFO test:                     │

│ input=StringLiteral("8upM5X.tZz:")                                           │

│ 2023-10-09T03:27:05.623067Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.623144Z  INFO test:                     │

│ input=Identifier("OLeE2")                                                    │

│ 2023-10-09T03:27:05.623183Z  INFO test: input=Operator("=") │

│ 2023-10-09T03:27:05.623211Z  INFO test:                     │

│ input=Identifier("hx88e7HpQ")                                                │

│ 2023-10-09T03:27:05.623251Z  INFO test:                     │

│ input=Identifier("IoUyEF8xbwZ7XNSQUX2nZE3")                                  │

│ 2023-10-09T03:27:05.623286Z  INFO test:                     │

│ input=StringLiteral("'")                                                     │

│ 2023-10-09T03:27:05.623306Z  INFO test:                     │

│ input=Integer(566119598513427660)                                            │

│ 2023-10-09T03:27:05.623346Z  INFO test:                     │

│ input=Comment("%p`=&ks'2\"U5:& <%>*s_h3{VU`r")                               │

│ 2023-10-09T03:27:05.623405Z  INFO test: input=Operator("/") │

│ 2023-10-09T03:27:05.623448Z  INFO test:                     │

│ input=StringLiteral("&v>pBK,UeUPiS")                                         │

│ test prop_parse_format_idempotent ... ok                                     │

│ test                                                                         │

│ adding_and_then_removing_an_item_from_the_cart_leaves_the_cart_unchanged ... │

│ ok                                                                           │

│                                                                              │

│ test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out;  │

│ finished in 0.13s                                                            │

│                                                                              │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── pwsh ────────────────────────────────────────────────────────────────────────

{ . $ScriptDir/../../target/release/test$(GetExecutableSuffix) } | Invoke-Block



╭─[ 83.12ms - stdout ]─────────────────────────────────────────────────────────╮

│ app=test                                                                     │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯

[NbConvertApp] Converting notebook build.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 315307 bytes to build.dib.html

In [ ]:
{ . "$ScriptDir/../spiral/extension/build.ps1" } | Invoke-Block
Lockfile is up to date, resolution step is skipped

Already up to date



Done in 1.4s

[INFO]: 🎯  Checking for the Wasm target...

[INFO]: 🌀  Compiling to Wasm...

warning: C:\home\git\polyglot\Cargo.toml: unused manifest key: lib.members

    Finished dev [unoptimized + debuginfo] target(s) in 0.45s

[INFO]: ⬇️  Installing wasm-bindgen...

[INFO]: Optional fields missing from Cargo.toml: 'description', 'repository', and 'license'. These are not necessary, but recommended

[INFO]: ✨   Done in 1.37s

[INFO]: 📦   Your wasm pkg is ready to publish at C:\home\git\polyglot\spiral\extension\pkg.

▲ [WARNING] "import.meta" is not available with the "iife" output format and will be empty [empty-import-meta]



    pkg/extension.js:451:45:

      451 │         input = new URL('extension_bg.wasm', import.meta.url);

          ╵                                              ~~~~~~~~~~~



  You need to set the output format to "esm" for "import.meta" to work correctly.



1 warning



  dist\extension_bg-ITQ4YCGU.wasm  147.7kb

  dist\content_script.js             7.4kb

  dist\service_worker.js             1.6kb



⚡ Done in 27ms



> polyglot@ test:e2e C:\home\git\polyglot\spiral\extension

> playwright test



 INFO  Accepting connections at http://localhost:3000

 HTTP  10/8/2023 11:27:20 PM ::1 GET /

 HTTP  10/8/2023 11:27:20 PM ::1 Returned 200 in 24 ms



Running 3 tests using 3 workers



[1/3] [Desktop Chrome] › extension.spec.ts:8:5 › popup extension

[2/3] [Desktop Chrome] › extension.spec.ts:3:5 › popup localhost

[3/3] [Desktop Chrome] › extension.spec.ts:13:5 › libgen

 HTTP  10/8/2023 11:27:26 PM ::1 GET /popup

 HTTP  10/8/2023 11:27:26 PM ::1 Returned 200 in 13 ms

 HTTP  10/8/2023 11:27:26 PM ::1 GET /popup.js

 HTTP  10/8/2023 11:27:26 PM ::1 GET /content_script.js

 HTTP  10/8/2023 11:27:26 PM ::1 Returned 200 in 10 ms

 HTTP  10/8/2023 11:27:26 PM ::1 Returned 200 in 12 ms

 HTTP  10/8/2023 11:27:26 PM ::1 GET /extension_bg-ITQ4YCGU.wasm

 HTTP  10/8/2023 11:27:26 PM ::1 GET /favicon.ico

 HTTP  10/8/2023 11:27:26 PM ::1 Returned 404 in 7 ms

 HTTP  10/8/2023 11:27:26 PM ::1 Returned 200 in 10 ms

  3 passed (11.8s)



To open last HTML report run:



  npx playwright show-report



In [ ]:
# { . "$ScriptDir/../spiral/cli/build.ps1" } | Invoke-Block
In [ ]:
{ . "$ScriptDir/../apps/dice/build.ps1" } | Invoke-Block
Complexidade: Simple, Duração: Short    

Complexidade: Simple, Duração: Short    

Complexidade: Simple, Duração: Medium   

Complexidade: Moderate, Duração: Medium 

Complexidade: Complex, Duração: Long    

Complexidade: Complex, Duração: Long    

[23:27:40 INF] EXPECTO? Running tests... <Expecto>

[23:27:45 INF] EXPECTO! 7 tests run in 00:00:05.1203115 for FsCheck samples – 7 passed, 0 ignored, 0 failed, 0 errored. Success! <Expecto>





── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ # Dice (Polyglot)                                                            │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Testing.dib



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A

spNetCore.Html.Abstractions.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.Formatting.dll"

open System

open System.IO

open System.Text

open Microsoft.DotNet.Interactive.Formatting



── fsharp - import ─────────────────────────────────────────────────────────────

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.FSharp.dll"

open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers

#r 

"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D

otNet.Interactive.dll"

open type Microsoft.DotNet.Interactive.Kernel



── fsharp - import ─────────────────────────────────────────────────────────────

#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



Formatter.ListExpansionLimit <- 100



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



type AssertExceptionFormatter (ex) =

    member _.Text =

        ex.ToString()

            .Replace("32m", "<span style=\"color: green;\">")

            .Replace("36m", "</span>")

            .Replace("31m", "<span style=\"color: red;\">")

            .Replace("\n", "<br/>\n")





Formatter.Register<AssertExceptionFormatter> ((fun (x : 

AssertExceptionFormatter) -> x.Text), "text/html")



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __expect fn log expected actual =

    if log then printfn $"{actual.ToDisplayString ()}"

    try

        "Testing.__expect" |> fn actual expected

    with :? Expecto.AssertException as ex ->

        AssertExceptionFormatter(ex).Display () |> ignore

        failwith (ex.GetType().FullName)



let inline __contains log expected actual = __expect Expecto.Expect.contains log

expected actual

let inline _contains expected actual = __contains true expected actual



let inline __equal log expected actual = __expect Expecto.Expect.equal log 

expected actual

let inline _equal expected actual = __equal true expected actual



let inline __isGreaterThan log expected actual = __expect 

Expecto.Expect.isGreaterThan log expected actual

let ...



── fsharp - import ─────────────────────────────────────────────────────────────

//// test



let inline __isBetween log a b actual =

    let inline isBetween actual (a, b) _ =

        __isGreaterThanOrEqual log a actual

        __isLessThanOrEqual log b actual

    __expect isBetween log (a, b) actual

let inline _isBetween a b actual = __isBetween true a b actual



── fsharp ──────────────────────────────────────────────────────────────────────

#!import ../nbs/Common.fs



── fsharp - import ─────────────────────────────────────────────────────────────

#if !INTERACTIVE

namespace Polyglot

#endif



module Common =



    let nl = System.Environment.NewLine

    let q = @""""



    let inline cons head tail = head :: tail



    module String =

        let inline contains (value : string) (input : string) =

            input.Contains value



        let inline endsWith (value : string) (input : string) =

            input.EndsWith value



        let inline padLeft totalWidth paddingChar (input : string) =

            input.PadLeft (totalWidth, paddingChar)



        let inline replace (oldValue : string) (newValue : string) (input : 

string) =

            input.Replace (oldValue, newValue)



        let inline split separator (input : string) =

            input.Split separator



        let inline spli...



── fsharp ──────────────────────────────────────────────────────────────────────

open Common



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## sixthPowerSequence                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let sixthPowerSequence = 1 |> Seq.unfold (fun state -> Some (state, state * 6)) 

|> Seq.cache



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



sixthPowerSequence

|> Seq.take 8

|> Seq.toList

|> _equal [[ 1; 6; 36; 216; 1296; 7776; 46656; 279936 ]]



╭─[ 72.22ms - stdout ]─────────────────────────────────────────────────────────╮

│ [ 1, 6, 36, 216, 1296, 7776, 46656, 279936 ]                                 │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## accumulateDiceRolls                                                       │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let rec accumulateDiceRolls log rolls power acc =

    match rolls with

    | _ when power < 0 ->

        log |> Option.iter ((|>) $"accumulateDiceRolls / power: {power} / acc: 

{acc}")

        Some (acc + 1, rolls)

    | [[]] -> None

    | roll :: rest when roll > 1 ->

        let coeff = sixthPowerSequence |> Seq.item power

        let value = (roll - 1) * coeff

        log |> Option.iter ((|>) $"accumulateDiceRolls / \

            power: {power} / acc: {acc} / roll: {roll} / value: {value}"

        )

        accumulateDiceRolls log rest (power - 1) (acc + value)

    | roll :: rest ->

        log |> Option.iter ((|>) $"accumulateDiceRolls / power: {power} / acc: 

{acc} / roll: {roll}")

        accumulateDiceRolls log rest (power - 1) acc



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 0 1000

|> _equal (Some (1006, [[ 5; 4; 3; 2 ]]))



╭─[ 40.35ms - stdout ]─────────────────────────────────────────────────────────╮

│ accumulateDiceRolls / power: 0 / acc: 1000 / roll: 6 / value: 5              │

│ accumulateDiceRolls / power: -1 / acc: 1005                                  │

│ FSharpOption<Tuple<Int32,FSharpList<Int32>>>                                 │

│       Value:       - 1006                                                    │

│       - [ 5, 4, 3, 2 ]                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 1 1000

|> _equal (Some (1035, [[ 4; 3; 2 ]]))



╭─[ 27.34ms - stdout ]─────────────────────────────────────────────────────────╮

│ accumulateDiceRolls / power: 1 / acc: 1000 / roll: 6 / value: 30             │

│ accumulateDiceRolls / power: 0 / acc: 1030 / roll: 5 / value: 4              │

│ accumulateDiceRolls / power: -1 / acc: 1034                                  │

│ FSharpOption<Tuple<Int32,FSharpList<Int32>>>                                 │

│       Value:       - 1035                                                    │

│       - [ 4, 3, 2 ]                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 2 1000

|> _equal (Some (1208, [[ 3; 2 ]]))



╭─[ 37.75ms - stdout ]─────────────────────────────────────────────────────────╮

│ accumulateDiceRolls / power: 2 / acc: 1000 / roll: 6 / value: 180            │

│ accumulateDiceRolls / power: 1 / acc: 1180 / roll: 5 / value: 24             │

│ accumulateDiceRolls / power: 0 / acc: 1204 / roll: 4 / value: 3              │

│ accumulateDiceRolls / power: -1 / acc: 1207                                  │

│ FSharpOption<Tuple<Int32,FSharpList<Int32>>>                                 │

│       Value:       - 1208                                                    │

│       - [ 3, 2 ]                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## rollWithinBounds                                                          │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let rollWithinBounds log max rolls =

    let power = List.length rolls - 1

    match accumulateDiceRolls log rolls power 0 with

    | Some (result, _) when result >= 1 && result <= max -> Some result

    | _ -> None



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



rollWithinBounds (Some (printfn "%s")) 2000 [[ 1; 5; 4; 4; 5 ]]

|> _equal (Some 995)



╭─[ 29.17ms - stdout ]─────────────────────────────────────────────────────────╮

│ accumulateDiceRolls / power: 4 / acc: 0 / roll: 1                            │

│ accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864               │

│ accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108             │

│ accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18              │

│ accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4               │

│ accumulateDiceRolls / power: -1 / acc: 994                                   │

│ FSharpOption<Int32>                                                          │

│       Value: 995                                                             │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



rollWithinBounds (Some (printfn "%s")) 2000 [[ 2; 2; 6; 4; 5 ]]

|> _equal (Some 1715)



╭─[ 28.06ms - stdout ]─────────────────────────────────────────────────────────╮

│ accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296              │

│ accumulateDiceRolls / power: 3 / acc: 1296 / roll: 2 / value: 216            │

│ accumulateDiceRolls / power: 2 / acc: 1512 / roll: 6 / value: 180            │

│ accumulateDiceRolls / power: 1 / acc: 1692 / roll: 4 / value: 18             │

│ accumulateDiceRolls / power: 0 / acc: 1710 / roll: 5 / value: 4              │

│ accumulateDiceRolls / power: -1 / acc: 1714                                  │

│ FSharpOption<Int32>                                                          │

│       Value: 1715                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



rollWithinBounds (Some (printfn "%s")) 2000 [[ 4; 1; 1; 2; 3 ]]

|> _equal None



╭─[ 24.02ms - stdout ]─────────────────────────────────────────────────────────╮

│ accumulateDiceRolls / power: 4 / acc: 0 / roll: 4 / value: 3888              │

│ accumulateDiceRolls / power: 3 / acc: 3888 / roll: 1                         │

│ accumulateDiceRolls / power: 2 / acc: 3888 / roll: 1                         │

│ accumulateDiceRolls / power: 1 / acc: 3888 / roll: 2 / value: 6              │

│ accumulateDiceRolls / power: 0 / acc: 3894 / roll: 3 / value: 2              │

│ accumulateDiceRolls / power: -1 / acc: 3896                                  │

│ <null>                                                                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## calculateDiceCount                                                        │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let inline calculateDiceCount log max =

    let rec loop n p =

        if p < max

        then loop (n + 1) (p * 6)

        else

            log |> Option.iter ((|>) $"calculateDiceCount / max: {max} / n: {n} 

/ p: {p}")

            n

    if max = 1

    then 1

    else loop 0 1



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



calculateDiceCount (Some (printfn "%s")) 36

|> _equal 2



╭─[ 28.07ms - stdout ]─────────────────────────────────────────────────────────╮

│ calculateDiceCount / max: 36 / n: 2 / p: 36                                  │

│ 2                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



calculateDiceCount (Some (printfn "%s")) 7777

|> _equal 6



╭─[ 27.23ms - stdout ]─────────────────────────────────────────────────────────╮

│ calculateDiceCount / max: 7777 / n: 6 / p: 46656                             │

│ 6                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## rollDice                                                                  │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

#if FABLE_COMPILER_RUST

#if !CHAIN

let rollDice () : int =

    Fable.Core.RustInterop.emitRustExpr () "rand::Rng::gen_range(&mut 

rand::thread_rng(), 1..7)"

#endif

#else

let private random = System.Random ()

let rollDice () =

    random.Next (1, 7)

#endif



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## rotateNumber                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let rotateNumber max n =

    (n - 1 + max) % max + 1



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## rotateNumbers                                                             │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let rotateNumbers max items =

    items |> Seq.map (rotateNumber max)



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



[[ -1 .. 14 ]]

|> rotateNumbers 6

|> Seq.toList

|> _equal [[ 5; 6; 1; 2; 3; 4; 5; 6; 1; 2; 3; 4; 5; 6; 1; 2 ]]



╭─[ 44.64ms - stdout ]─────────────────────────────────────────────────────────╮

│ [ 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2 ]                           │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## createSequentialRoller                                                    │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let createSequentialRoller list =

    let mutable currentIndex = 0

    fun () ->

        match list |> List.tryItem currentIndex with

        | Some item ->

            currentIndex <- currentIndex + 1

            item

        | None ->

            failwith "createSequentialRoller / End of list"



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## rollProgressively                                                         │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let rollProgressively log roll reroll max =

    let power = (calculateDiceCount log max) - 1

    let rec loop rolls size =

        if size < power + 1

        then loop (roll () :: rolls) (size + 1)

        else

            match accumulateDiceRolls log rolls power 0 with

            | Some (result, _) when result <= max -> result

            | _ when reroll -> loop (List.init power (fun _ -> roll ())) power

            | _ -> loop (roll () :: rolls) (size + 1)

    loop [[]] 0



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



rollProgressively None rollDice false 1

|> _equal 1



╭─[ 22.04ms - stdout ]─────────────────────────────────────────────────────────╮

│ 1                                                                            │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let sequentialRoll = createSequentialRoller [[ 5; 4; 4; 5; 1 ]]



rollProgressively (Some (printfn "%s")) sequentialRoll false 2000

|> _equal 995



╭─[ 33.13ms - stdout ]─────────────────────────────────────────────────────────╮

│ calculateDiceCount / max: 2000 / n: 5 / p: 7776                              │

│ accumulateDiceRolls / power: 4 / acc: 0 / roll: 1                            │

│ accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864               │

│ accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108             │

│ accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18              │

│ accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4               │

│ accumulateDiceRolls / power: -1 / acc: 994                                   │

│ 995                                                                          │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



let sequentialRoll = createSequentialRoller [[ 5; 4; 4; 5; 2 ]]



fun () -> rollProgressively (Some (printfn "%s")) sequentialRoll false 2000 |> 

ignore

|> _throwsC (fun ex _ ->

    printException ex

    |> _equal "System.Exception: createSequentialRoller / End of list"

)



╭─[ 52.86ms - stdout ]─────────────────────────────────────────────────────────╮

│ FSI_0031+it@5-11                                                             │

│ calculateDiceCount / max: 2000 / n: 5 / p: 7776                              │

│ accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296              │

│ accumulateDiceRolls / power: 3 / acc: 1296 / roll: 5 / value: 864            │

│ accumulateDiceRolls / power: 2 / acc: 2160 / roll: 4 / value: 108            │

│ accumulateDiceRolls / power: 1 / acc: 2268 / roll: 4 / value: 18             │

│ accumulateDiceRolls / power: 0 / acc: 2286 / roll: 5 / value: 4              │

│ accumulateDiceRolls / power: -1 / acc: 2290                                  │

│ System.Exception: createSequentialRoller / End of list                       │

│                                                                              │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp - ignored ────────────────────────────────────────────────────────────

//// ignore



rollProgressively (Some (printfn "%s")) rollDice false 2000



── fsharp - ignored ────────────────────────────────────────────────────────────

//// ignore



rollProgressively (Some (printfn "%s")) rollDice true 2000



── fsharp - ignored ────────────────────────────────────────────────────────────

//// ignore



[[ 1 .. 1000 ]]

|> List.map (fun _ -> rollProgressively None rollDice false 10)

|> List.groupBy id

|> List.map (fun (k, v) -> k, v.Length)

|> List.sortBy fst



── fsharp ──────────────────────────────────────────────────────────────────────

//// test



[[ 1 .. 100 ]]

|> List.iter (fun n ->

    [[ 0 .. 1 ]]

    |> List.iter (fun reroll ->

        [[ 1 .. 3500 ]]

        |> List.map (fun _ -> rollProgressively None rollDice (reroll = 1) n)

        |> List.groupBy id

        |> List.length

        |> __equal false n

    )

)



── fsharp - ignored ────────────────────────────────────────────────────────────

//// ignore



let inline rollMax fn max n =

    [[ 1 .. n ]]

    |> List.map (fun _ -> fn max)

    |> List.groupBy id

    |> List.map (fun (_, v) -> v.Length)



let max = 10

let n = 30

let even = (n / max) |> int



let rec rollN current =

    let roll = rollMax (rollProgressively None rollDice true) max n

    if roll |> List.forall ((=) even)

    then current

    else rollN (current + 1)



rollN 0



── fsharp - ignored ────────────────────────────────────────────────────────────

//// ignore



// [[ 1 .. 100 ]]

// |> List.map (fun i ->

//     let roll = rollN 0

//     printfn $"i: {i} / roll: {roll}"

//     roll

// )

// |> List.map float

// |> List.average



── markdown ────────────────────────────────────────────────────────────────────

╭──────────────────────────────────────────────────────────────────────────────╮

│ ## main                                                                      │

╰──────────────────────────────────────────────────────────────────────────────╯



── fsharp ──────────────────────────────────────────────────────────────────────

let main args =

    let result = rollWithinBounds (Some (printfn "%s")) 2000 [[ 1; 5; 4; 4; 5 ]]

    trace Debug (fun () -> $"main / result: {result |> Option.defaultValue -1}")

getLocals

    0

[NbConvertApp] Converting notebook Dice.dib.ipynb to html

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.

  validate(nb)

C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3

  return _pygments_highlight(

[NbConvertApp] Writing 324593 bytes to Dice.dib.html

23:28:06 #1 [Debug] writeDibCode / output: Fs / path: Dice.dib

23:28:06 #2 [Debug] parseDibCode / output: Fs / file: Dice.dib

23:28:06 #1 [Debug] persistCodeProject / packages: [Fable.Core] / modules: [nbs/Common.fs] / path: C:\home\git\polyglot\apps\dice / name: Dice / code.Length: 3320

23:28:06 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dice\target\Dice.fsproj

23:28:06 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\target"

  CancellationToken = None

  OnLine = None }

23:28:07 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:28:07 #5 [Debug] >   Determining projects to restore...

23:28:08 #6 [Debug] >   Restored C:\home\git\polyglot\apps\dice\target\Dice.fsproj (in 374 ms).

23:28:08 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\target\Dice.fsproj]

23:28:12 #8 [Debug] >   Dice -> C:\home\git\polyglot\apps\dice\target\bin\release\net8.0\linux-x64\Dice.dll

23:28:13 #9 [Debug] >   Dice -> C:\home\git\polyglot\apps\dice\dist\

23:28:13 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 11920 / output.Length: 594

23:28:13 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64"

  WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\target"

  CancellationToken = None

  OnLine = None }

23:28:13 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET

23:28:14 #13 [Debug] >   Determining projects to restore...

23:28:15 #14 [Debug] >   Restored C:\home\git\polyglot\apps\dice\target\Dice.fsproj (in 402 ms).

23:28:15 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\target\Dice.fsproj]

23:28:19 #16 [Debug] >   Dice -> C:\home\git\polyglot\apps\dice\target\bin\release\net8.0\win-x64\Dice.dll

23:28:26 #17 [Debug] >   Dice -> C:\home\git\polyglot\apps\dice\dist\

23:28:26 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 78600 / output.Length: 592

Fable 4.2.1: F# to Rust compiler (status: alpha)



Thanks to the contributor! @irium

Stand with Ukraine! https://standwithukraine.com.ua/



Parsing target\Dice.fsproj...

Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.

Project and references (2 source files) parsed in 177ms



Started Fable compilation...

Fable compilation finished in 2531ms



Fable 4.2.1: F# to TypeScript compiler

Minimum fable-library version (when installed from npm): 1.1.1



Thanks to the contributor! @markek

Stand with Ukraine! https://standwithukraine.com.ua/



Parsing target\Dice.fsproj...

Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.

Project and references (2 source files) parsed in 177ms



Started Fable compilation...

Fable compilation finished in 2459ms



Fable 4.2.1: F# to Python compiler (status: beta)



Thanks to the contributor! @Booksbaum

Stand with Ukraine! https://standwithukraine.com.ua/



Parsing target\Dice.fsproj...

Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.

Project and references (2 source files) parsed in 184ms



Started Fable compilation...

Fable compilation finished in 2429ms



Fable 4.2.1: F# to PHP compiler (status: experimental)



Thanks to the contributor! @drk-mtr

Stand with Ukraine! https://standwithukraine.com.ua/



Parsing target\Dice.fsproj...

Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.

Project and references (2 source files) parsed in 188ms



Started Fable compilation...

Fable compilation finished in 2416ms



.\target\Dice.fs(18,37): (18,89) error FABLE: String templates are not supported

.\target\Dice.fs(24,37): (25,76) error FABLE: String templates are not supported

.\target\Dice.fs(29,37): (29,104) error FABLE: String templates are not supported

.\target\Dice.fs(47,41): (47,93) error FABLE: String templates are not supported

.\target\Dice.fs(107,31): (107,83) error FABLE: String templates are not supported

Compilation failed


# Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock:
'dotnet fable target/Dice.fsproj --optimize --lang php --extension .php --outDir target/php'


Fable 4.2.1: F# to Dart compiler (status: beta)



Thanks to the contributor! @kant2002

Stand with Ukraine! https://standwithukraine.com.ua/



Parsing target\Dice.fsproj...

Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.

Project and references (2 source files) parsed in 181ms



Started Fable compilation...

Fable compilation finished in 2523ms



.\..\..\nbs\Common.fs(1,1): error FABLE: Cannot find reference for Microsoft.FSharp.Core.PrintfFormat`5

.\target\Dice.fs(1,1): error FABLE: Cannot find reference for System.Random

.\target\Dice.fs(1,1): error FABLE: Cannot find reference for System.IO.TextWriter

.\target\Dice.fs(1,1): error FABLE: Cannot find reference for Microsoft.FSharp.Core.PrintfFormat`5

Compilation failed


# Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock:
'dotnet fable target/Dice.fsproj --optimize --lang dart --extension .dart --outDir target/dart'


Fable 4.2.1: F# to Rust compiler (status: alpha)



Thanks to the contributor! @zanaptak

Stand with Ukraine! https://standwithukraine.com.ua/



Parsing target\Dice.fsproj...

Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option.

Project and references (2 source files) parsed in 180ms



Started Fable compilation...

Fable compilation finished in 2420ms



   Compiling dice v0.0.1 (C:\home\git\polyglot\apps\dice)

    Finished release [optimized] target(s) in 4.23s

     Running `target\release\dice.exe`

accumulateDiceRolls / power: 4 / acc: 0 / roll: 1

accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864

accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108

accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18

accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4

accumulateDiceRolls / power: -1 / acc: 994

23:28:57 #1 [Debug] main / result: 995

   Compiling dice v0.0.1 (C:\home\git\polyglot\apps\dice)

   Compiling dice_contract v0.0.1 (C:\home\git\polyglot\apps\dice\contract)

    Finished release [optimized] target(s) in 7.34s

## 7

   Compiling rustix v0.38.17

   Compiling tokio v1.28.2

   Compiling which v4.4.2

   Compiling tempfile v3.8.0

   Compiling near-sandbox-utils v0.7.0

   Compiling prost-build v0.9.0

   Compiling near-workspaces v0.7.0 (https://github.com/near/workspaces-rs#bc208e91)

   Compiling tonic-build v0.6.2

   Compiling opentelemetry-otlp v0.10.0

   Compiling near-o11y v0.17.0

   Compiling near-chain-configs v0.17.0

   Compiling near-jsonrpc-primitives v0.17.0

   Compiling near-jsonrpc-client v0.6.0

   Compiling dice v0.0.1 (/mnt/c/home/git/polyglot/apps/dice/tests)

    Finished release [optimized] target(s) in 5m 07s

     Running `target/release/dice`





new: ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 5274261083664,

    },

    transaction: ExecutionOutcome {

        transaction_hash: EaS3a5hFw7HJo4qweEBC4seSr42pMjgtKQxvqGSeEzQk,

        block_hash: ByFsvmwoWbZGNvsnZk8k1aKaAAGiGS4tqZxBPNbb9ZG,

        logs: [],

        receipt_ids: [

            8XswqVWpnp7oQtQp4WWZTczntUaht58auPLGobWZhRro,

        ],

        gas_burnt: NearGas {

            inner: 2427927707802,

        },

        tokens_burnt: 242792770780200000000,

        executor_id: AccountId(

            "dev-20231009033437-33990107502409",

        ),

        status: SuccessReceiptId(8XswqVWpnp7oQtQp4WWZTczntUaht58auPLGobWZhRro),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: 8XswqVWpnp7oQtQp4WWZTczntUaht58auPLGobWZhRro,

            block_hash: ByFsvmwoWbZGNvsnZk8k1aKaAAGiGS4tqZxBPNbb9ZG,

            logs: [],

            receipt_ids: [

                4SLJfEcv9Q3h2McbQe3jTtLdshpaWWiRrRNbpJSjhxJo,

            ],

            gas_burnt: NearGas {

                inner: 2623150813362,

            },

            tokens_burnt: 262315081336200000000,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue(''),

        },

        ExecutionOutcome {

            transaction_hash: 4SLJfEcv9Q3h2McbQe3jTtLdshpaWWiRrRNbpJSjhxJo,

            block_hash: 7pB9niHLyiFS4h2yKayecj34yLL33DY8uCpi7inViXLJ,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(''),

}

total_gas_burnt_usd: 0.0035232064038875515

outcome (success: true):

  outcome_gas_burnt_usd: 0.001621855708811736

  outcome_tokens_burnt_usd: 0.001621855708811736

outcome (success: true):

  outcome_gas_burnt_usd: 0.0017522647433258157

  outcome_tokens_burnt_usd: 0.0017522647433258162

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





roll_within_bounds(contract, ''): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 5460265621093,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 2C5KNt5B7xaNhF9mVeDL53FfiQk6qPHZL9cMaLTYAWLU,

        block_hash: 6r8dzpqXsWBsWkXJwqsBfMG54FL9bDyopBEDVnNV6DrB,

        logs: [],

        receipt_ids: [

            AyPqCa4avzZis83HpPzkhwLVGXLV16FZNhBVrNEPBLEa,

        ],

        gas_burnt: NearGas {

            inner: 2428032796700,

        },

        tokens_burnt: 242803279670000000000,

        executor_id: AccountId(

            "dev-20231009033437-33990107502409",

        ),

        status: SuccessReceiptId(AyPqCa4avzZis83HpPzkhwLVGXLV16FZNhBVrNEPBLEa),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: AyPqCa4avzZis83HpPzkhwLVGXLV16FZNhBVrNEPBLEa,

            block_hash: 6r8dzpqXsWBsWkXJwqsBfMG54FL9bDyopBEDVnNV6DrB,

            logs: [

                "roll_within_bounds / max: 2000 / rolls: [1, 5, 4, 4, 5]",

                "accumulateDiceRolls / power: 4 / acc: 0 / roll: 1",

                "accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864",

                "accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108",

                "accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18",

                "accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4",

                "accumulateDiceRolls / power: -1 / acc: 994",

            ],

            receipt_ids: [

                4KVb7EwnzTxjsJYpfSm46F4hnGKZaAmV6vAMkhkYkJ3E,

            ],

            gas_burnt: NearGas {

                inner: 2809050261893,

            },

            tokens_burnt: 280905026189300000000,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue('995'),

        },

        ExecutionOutcome {

            transaction_hash: 4KVb7EwnzTxjsJYpfSm46F4hnGKZaAmV6vAMkhkYkJ3E,

            block_hash: GVxHNAvjh7YSL1YpmTS6AZRpm17BC15uwUEzjggwFWna,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue('995'),

}

total_gas_burnt_usd: 0.0036474574348901237

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016219259081956

  outcome_tokens_burnt_usd: 0.0016219259081956

outcome (success: true):

  outcome_gas_burnt_usd: 0.0018764455749445239

  outcome_tokens_burnt_usd: 0.0018764455749445239

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0





roll_within_bounds_borsh(contract, ''): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 5470615159106,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 8iUubkD3Jp1d61G5V98iMkjSW3dLFhUKSr391bYJ3bK3,

        block_hash: 5TxdnwhrohRxSTfntycoJ8R4iynHyVKHUzMR5Qu3E5JQ,

        logs: [],

        receipt_ids: [

            6ShJ78xtSYL7iKcd2xSRYp71qos6Dc25jjHZR2x6L5xX,

        ],

        gas_burnt: NearGas {

            inner: 2428037268568,

        },

        tokens_burnt: 242803726856800000000,

        executor_id: AccountId(

            "dev-20231009033437-33990107502409",

        ),

        status: SuccessReceiptId(6ShJ78xtSYL7iKcd2xSRYp71qos6Dc25jjHZR2x6L5xX),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: 6ShJ78xtSYL7iKcd2xSRYp71qos6Dc25jjHZR2x6L5xX,

            block_hash: 5TxdnwhrohRxSTfntycoJ8R4iynHyVKHUzMR5Qu3E5JQ,

            logs: [

                "roll_within_bounds / max: 2000 / rolls: [2, 2, 6, 4, 5]",

                "accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296",

                "accumulateDiceRolls / power: 3 / acc: 1296 / roll: 2 / value: 216",

                "accumulateDiceRolls / power: 2 / acc: 1512 / roll: 6 / value: 180",

                "accumulateDiceRolls / power: 1 / acc: 1692 / roll: 4 / value: 18",

                "accumulateDiceRolls / power: 0 / acc: 1710 / roll: 5 / value: 4",

                "accumulateDiceRolls / power: -1 / acc: 1714",

            ],

            receipt_ids: [

                3qB3zfvbfgBup1fmAVdSxRY1Gk6uKKZdmTgcZekBehRf,

            ],

            gas_burnt: NearGas {

                inner: 2819395328038,

            },

            tokens_burnt: 281939532803800000000,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue(AbMGAAA=),

        },

        ExecutionOutcome {

            transaction_hash: 3qB3zfvbfgBup1fmAVdSxRY1Gk6uKKZdmTgcZekBehRf,

            block_hash: Ea9YpzYRKo48mGeqcfvC5aPU6JGDuzCk5N6FTfVuwJie,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue(AbMGAAA=),

}

total_gas_burnt_usd: 0.003654370926282808

outcome (success: true):

  outcome_gas_burnt_usd: 0.0016219288954034238

  outcome_tokens_burnt_usd: 0.001621928895403424

outcome (success: true):

  outcome_gas_burnt_usd: 0.0018833560791293837

  outcome_tokens_burnt_usd: 0.0018833560791293841

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0

n: Some(

    Some(

        1715,

    ),

)





generate_random_number(contract, ''): ExecutionFinalResult {

    total_gas_burnt: NearGas {

        inner: 8960080248071,

    },

    transaction: ExecutionOutcome {

        transaction_hash: 2pbVBQsbagDmafJ8ieGsZdGM27iXQxkTRZbQ6A8ZZqeD,

        block_hash: BEVJKwbRj99m9aNabkN3cefc1c6LWjV26oPi8FfeLUkU,

        logs: [],

        receipt_ids: [

            67ACzgzi2FoJBqY7VfRnHTW4NEKqWSZYaxQtAiKJof7m,

        ],

        gas_burnt: NearGas {

            inner: 2427997021756,

        },

        tokens_burnt: 242799702175600000000,

        executor_id: AccountId(

            "dev-20231009033437-33990107502409",

        ),

        status: SuccessReceiptId(67ACzgzi2FoJBqY7VfRnHTW4NEKqWSZYaxQtAiKJof7m),

    },

    receipts: [

        ExecutionOutcome {

            transaction_hash: 67ACzgzi2FoJBqY7VfRnHTW4NEKqWSZYaxQtAiKJof7m,

            block_hash: BEVJKwbRj99m9aNabkN3cefc1c6LWjV26oPi8FfeLUkU,

            logs: [

                "generate_random_number / max: 2000 / seed: [235, 138, 151, 243, 13, 159, 218, 221, 162, 29, 24, 46, 197, 219, 198, 164, 83, 36, 55, 178, 202, 98, 217, 176, 91, 254, 35, 230, 196, 36, 115, 194] / block_timestamp: 1696822481367309719 / signer_account_id: \"dev-20231009033437-33990107502409\" / account_balance: 99996914182635056605960000 / block_height: 22 / epoch_height: 1 / entropy: [235, 138, 151, 243, 13, 159, 218, 221, 162, 29, 24, 46, 197, 219, 198, 164, 83, 36, 55, 178, 202, 98, 217, 176, 91, 254, 35, 230, 196, 36, 115, 194, 151, 157, 203, 128, 14, 83, 140, 23, 100, 101, 118, 45, 50, 48, 50, 51, 49, 48, 48, 57, 48, 51, 51, 52, 51, 55, 45, 51, 51, 57, 57, 48, 49, 48, 55, 53, 48, 50, 52, 48, 57, 64, 23, 16, 213, 196, 124, 118, 148, 43, 183, 82, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0] / hash_vec: [177, 225, 16, 174, 223, 112, 166, 171, 80, 133, 140, 194, 110, 37, 174, 153, 116, 216, 94, 208, 188, 112, 96, 205, 122, 211, 65, 239, 142, 99, 114, 109, 244, 149, 134, 51, 197, 185, 28, 25, 183, 97, 39, 22, 216, 238, 0, 255, 61, 105, 48, 210, 209, 38, 197, 40, 78, 216, 132, 126, 128, 51, 149, 61] / rolls_list: [3, 3, 4, 6, 1, 4, 4, 3, 2, 1, 2, 2, 2, 1, 6, 3, 2, 6, 4, 4, 2, 4, 6, 1, 2, 1, 5, 5, 4, 3, 6, 1, 4, 5, 2, 3, 5, 5, 4, 1, 3, 1, 3, 4, 6, 4, 6, 3, 1, 3, 6, 6, 5, 2, 5, 4, 6, 6, 6, 6, 2, 3, 5, 1]",

                "calculateDiceCount / max: 2000 / n: 5 / p: 7776",

                "accumulateDiceRolls / power: 4 / acc: 0 / roll: 1",

                "accumulateDiceRolls / power: 3 / acc: 0 / roll: 6 / value: 1080",

                "accumulateDiceRolls / power: 2 / acc: 1080 / roll: 4 / value: 108",

                "accumulateDiceRolls / power: 1 / acc: 1188 / roll: 3 / value: 12",

                "accumulateDiceRolls / power: 0 / acc: 1200 / roll: 3 / value: 2",

                "accumulateDiceRolls / power: -1 / acc: 1202",

            ],

            receipt_ids: [

                5hJR5FDeeaaoFypR79WrcfszWjsEAitbYdgKBB32woMG,

            ],

            gas_burnt: NearGas {

                inner: 6308900663815,

            },

            tokens_burnt: 630890066381500000000,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue('1203'),

        },

        ExecutionOutcome {

            transaction_hash: 5hJR5FDeeaaoFypR79WrcfszWjsEAitbYdgKBB32woMG,

            block_hash: HScthQFq5W3yUbSYjmqamKToHZwypatK9eXJ58QMtRWv,

            logs: [],

            receipt_ids: [],

            gas_burnt: NearGas {

                inner: 223182562500,

            },

            tokens_burnt: 0,

            executor_id: AccountId(

                "dev-20231009033437-33990107502409",

            ),

            status: SuccessValue(''),

        },

    ],

    status: SuccessValue('1203'),

}

total_gas_burnt_usd: 0.005985333605711428

outcome (success: true):

  outcome_gas_burnt_usd: 0.001621902010533008

  outcome_tokens_burnt_usd: 0.0016219020105330078

outcome (success: true):

  outcome_gas_burnt_usd: 0.0042143456434284195

  outcome_tokens_burnt_usd: 0.00421434564342842

outcome (success: true):

  outcome_gas_burnt_usd: 0.00014908595175

  outcome_tokens_burnt_usd: 0.0

n: 1203

In [ ]:
{ . "$ScriptDir/../apps/perf/build.ps1" } | Invoke-Block



Test: Empty



Solution: 0

Test case 1. A. Time: 253L



Solution: 2

Test case 1. A. Time: 67L



Solution: 5

Test case 1. A. Time: 71L



Input	Expected	Result	Best    

---  	---     	---   	---     

0    	0       	0     	(1, 253)

2    	2       	2     	(1, 67) 

5    	5       	5     	(1, 71) 



Averages

Test case 1. Average Time: 130L



Ranking

Test case 1. Average Time: 130L





Test: Empty



Solution: 0

Test case 1. A. Time: 58L



Solution: 2

Test case 1. A. Time: 26L



Solution: 5

Test case 1. A. Time: 26L



Input	Expected	Result	Best   

---  	---     	---   	---    

0    	0       	0     	(1, 58)

2    	2       	2     	(1, 26)

5    	5       	5     	(1, 26)



Averages

Test case 1. Average Time: 36L



Ranking

Test case 1. Average Time: 36L

In [ ]:
{ . "$ScriptDir/../apps/ipfs/build.ps1" } | Invoke-Block
Lockfile is up to date, resolution step is skipped

Already up to date



Done in 2.6s

In [ ]:
{ . "$ScriptDir/outdated.ps1" } | Invoke-Block
Paket version 8.0.0-alpha002+6339fce88f07b4d959d03b78330fdb5a6d936483

Resolving dependency graph...

Outdated packages found:

  Group: Main

    * Expecto.FsCheck 10.1.0-fscheck3 -> 10.1.0

    * FsCheck 3.0.0-rc1 -> 2.16.6

    * Microsoft.AspNetCore.Connections.Abstractions 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.AspNetCore.Http.Connections.Client 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.AspNetCore.Http.Connections.Common 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.AspNetCore.SignalR.Client 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.AspNetCore.SignalR.Client.Core 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.AspNetCore.SignalR.Common 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.AspNetCore.SignalR.Protocols.Json 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.Extensions.DependencyInjection 7.0 -> 8.0.0-rc.1.23419.4

    * Microsoft.Extensions.DependencyInjection.Abstractions 7.0 -> 8.0.0-rc.1.23419.4

    * Microsoft.Extensions.Features 7.0 -> 8.0.0-rc.1.23421.29

    * Microsoft.Extensions.Logging 7.0 -> 8.0.0-rc.1.23419.4

    * Microsoft.Extensions.Logging.Abstractions 7.0.1 -> 8.0.0-rc.1.23419.4

    * Microsoft.Extensions.Options 7.0.1 -> 8.0.0-rc.1.23419.4

    * Microsoft.Extensions.Primitives 7.0 -> 8.0.0-rc.1.23419.4

    * System.IO.Pipelines 7.0 -> 8.0.0-rc.1.23419.4

    * System.Threading.Channels 7.0 -> 8.0.0-rc.1.23419.4

Total time taken: 50 seconds

All dependencies are up to date, yay!


C:\home\git\polyglot\apps\chat\contract\Cargo.toml

All dependencies are up to date, yay!


C:\home\git\polyglot\apps\chat\tests\Cargo.toml

    Updating git repository `https://github.com/near/workspaces-rs`

    Updating git repository `https://github.com/near/workspaces-rs`

chat

================

Name        Project  Compat   Latest   Kind    Platform

----        -------  ------   ------   ----    --------

autocfg     1.1.0    ---      Removed  Build   ---

equivalent  1.0.1    Removed  ---      Normal  ---

hashbrown   0.12.3   ---      0.14.1   Normal  ---

hashbrown   0.14.1   0.12.3   ---      Normal  ---

indexmap    1.9.3    ---      2.0.2    Normal  ---

indexmap    2.0.2    1.9.3    ---      Normal  ---


C:\home\git\polyglot\apps\chat\ui\Cargo.toml

All dependencies are up to date, yay!


C:\home\git\polyglot\apps\dice\Cargo.toml

All dependencies are up to date, yay!


C:\home\git\polyglot\apps\dice\contract\Cargo.toml

All dependencies are up to date, yay!


C:\home\git\polyglot\apps\dice\tests\Cargo.toml

    Updating git repository `https://github.com/near/workspaces-rs`

    Updating git repository `https://github.com/near/workspaces-rs`

dice

================

Name       Project  Compat   Latest   Kind    Platform

----       -------  ------   ------   ----    --------

autocfg    1.1.0    Removed  Removed  Build   ---

hashbrown  0.12.3   0.14.1   0.14.1   Normal  ---

indexmap   1.9.3    2.0.2    2.0.2    Normal  ---


C:\home\git\polyglot\apps\plot\Cargo.toml

    Updating git repository `https://github.com/plotters-rs/plotters.git`

    Updating git repository `https://github.com/plotters-rs/plotters.git`

All dependencies are up to date, yay!


C:\home\git\polyglot\spiral\extension



> polyglot@ outdated-pre C:\home\git\polyglot\spiral\extension

> npm-check-updates --target greatest



Using pnpm

Checking C:\home\git\polyglot\spiral\extension\package.json





 @playwright/test  1.38.0-beta-1691778350000  →  1.39.0-alpha-sep-30-2023



Run ncu --target greatest -u to upgrade package.json


C:\home\git\polyglot\apps\ipfs



> ipfs@ outdated-pre C:\home\git\polyglot\apps\ipfs

> npm-check-updates --target greatest



Using pnpm

Checking C:\home\git\polyglot\apps\ipfs\package.json





All dependencies match the greatest package versions :)


C:\home\git\polyglot



> polyglot@ outdated-pre C:\home\git\polyglot

> npm-check-updates --target greatest



Using pnpm

Checking C:\home\git\polyglot\package.json





All dependencies match the greatest package versions :)